쿼리 클래스 인터페이스에 대한 몇 가지 결론

프로젝트 요구하기 때문에, 최근에, 인터페이스 테스트 스크립트를 작성 오랜 시간 동안 업데이트 없음 그렇게하지만, 쓰기 후, 당신과 함께 일부 이익 공유가 있습니다

클래스 인터페이스에 대한 쿼리를 작성하면 작성 주로 쿼리 클래스 인터페이스는, 그래서 몇 가지 방법을 사용하는 것이 초점

날짜 1. 쿼리

평화 테스트에서 같은 질문의 결과는 종종 다음 목록보기 목록 기대를 충족, 날짜를 선택 쿼리를 클릭합니다

그런 다음 쿼리 클래스의 날짜는 어떻게 유효한 인수를 구성하는 것이

한 가지 고려해야 할 방법 장기 발효 일을 선택하게합니다

2019년 5월 29일에 2019년 5월 1일를 선택한 경우,

너무 특정 날짜에하지 않으려 고, 2020 스크립트를 다시 실행하면, 데이터가 결코 결과를 찾을 수없는, 심지어 청산 더러운 데이터베이스 데이터로, 나이가되고,하는 문제

 

가 현재 날짜를 얻을 수있는 해결 방법은 다음 앞으로 다시 삼십일 50 일 등

예를 들어, 오늘은 항상 현재 날짜를 참조하여, 다음 쿼리 데이터 2019년 9월 29일에 2019년 10월 29일 2019년 10월 29일입니다

현재 날짜를 얻을, 당신이 사용할 수있는 내장 된 파이썬 날짜 모듈

# 코딩 : UTF-8 

가져 오기 날짜 

now_date = datetime.datetime.now ()   # GET 시간 오늘 
#의 인쇄 (now_date) 
END_DATE = now_date.strftime ( " % Y- % M- % D " )   #이 쿼리의 종료 시간 오늘 정의 시간 및 문자열로 오브젝트 순서 - 월 - 일 형식 출력 
오프셋 = datetime.timedelta (일 = -50)   #이 간격 오프셋, 즉, 현재 날짜 및 시간을 정의한다 
(오프셋 + now_date) BEGIN_DATE =를 .strftime ( " % Y- % M- % D " )   #는 질의의 시작 시간을 정의 = 금회 롤백 오십일

2. 무작위로 촬영 어설의 풀 (pool)에서 응답의 내용

() 메소드를 사용하여 random.choice을하는 랜덤 데이터의 세트로부터 취해진, 그 목록 또는 Ganso 문자열로부터 추출 된 데이터에 공통 인

질의 인터페이스는 데이터의 다수의 세트를 반환하는 경우,이 시점에서 이루어진 각각의 데이터 구조와 유사한 주장을 한 후, 모든 데이터는 일단 일치하지

풀 훅 그물 작업 검색을 다음과 같은 경우

 

결과리스트를 볼 수있는 것은 각 정보 JSON 문자열의 각 위치가 어서 들어, 데이터의 한 세트 만이 수행 할 수있는 작업의 번호를 포함

질문, 주장하는 그룹 첫 세트를 선택한다? 마지막 그룹? 그룹을 지정?

목적을 달성 할 수있는 제 1 세트의 행의 마지막 그룹은 또한

그러나이 주장은 쿼리가 세 그룹을 반환 할 수 있기 때문에, 두 그룹은 다음을 반환 할 수 있습니다, 까다로운의 집합을 지정

또 다른 방법은 주장 데이터의 임의 설정을하는 것입니다,

이번에는 random.choice ()에있어서, 모든 결과에서 추출 된 데이터의 임의의 세트를 반환하는 데이터 세트의 다음 기대 값을 사용할 수 캔 주장

예 :

>>> 오기 랜덤
 >>> 번호 = 1, 2, 3 ,. ,. ,. 4 5 6 ,. ,. ,. 7 8 9 ,.. ]
 >>> random.choice (번호)
 5. 
>>> 위한 I  범위 (3). : # 8 사이클은, 각각 난수 복용 
  random.choice (참조)
 . 4 
. 4 
. 9

전화 번호의 생성 이전에 작성된) (도 사용될 random.choice을 (역사적인 문서의 세부 사항 참조)

전화 번호 문자열 섹션 주장의 마지막 네 자리 숫자를 사용합니다

때로는 민감한 정보 요구는 암호화와 같은 몇 가지 번호 중 전화 번호 또는 신분증 의지로 탈감작 치료, 일반적인 형태 이하로

188 **** 8888

전화 번호를 조회하는 경우, 반환 된 결과는 일반적으로 전화를 암호화하지만,이 전화 번호를 기반으로하기 때문에 반환 번호 정보에 반응이있는 경우, 더 나은 어설 전화 번호를 문의

경기를 잘 성공적인 결과를 고려하면이 시간은 당신이 전화 번호의 마지막 네 자리 숫자를 일치시킬 수 있습니다
슬라이싱 방법은 그러므로 네 자리 전화 번호를 제거 할 수 있습니다 후를

>>> 전화 = " 188 8888 **** " 
>>> 전화
 ' 188 **** 8888 ' 
>>> 전화 [-4 :]
 ' 8888 ' 
>>>

함수는 두 개의리스트를 반복 할 () 4. 지퍼 결합, 디스플레이 정보

장면 : 예를 들어, 쿼리 주제에 따라, 대량 참여의 실제 전송은 테마에 해당하는 번호
와 같은 번호 "11", "테마 B" "의 테마"등은 "22"숫자
스크립트를 작성할 때, 나는 희망이 더 인도적인 로그 재생
인쇄 할 수 있습니다 : 쿼리 테마는 "테마 이름에 해당하는", "테마 번호"11 ","데이터가 XX 바있다

목록의 항목 이름과 주제 두 번째이기 때문에, 우리는 두 개의 목록을 연결하고 싶어 어떻게? 동시에 반복 2 개에는 테마의 이름과 주제는 번호를 해당하는 수 있습니까?

우리가 우편 번호를 찾을 수 있도록 () 함수

인터넷의 간단한 예 :

>>>리스트 1 = ' ' , ' B ' , ' C를 ' , ' D ' ]
 >>>리스트 2 = ' 사과 ' , ' 소년 ' , ' 고양이 ' , ' ' ]
 >>> 위한 X, Y 지퍼 (리스트 1,리스트 2)
      잉크 (X는 ' ' ,Y) # 1 输出 
A는 이다 사과 
B가 
C

 소년이다 고양이 
D는 이다

복잡한 예는 목록 사전을 포함

>>> A = [{ " 의 first_name " 1, " second_name " : 2 " third_name " : 3 }, 
         { " 의 first_name " 4, " second_name " 5, " third_name " 6 }, 
         { " 의 first_name " 7, " second_name " : 8 " third_name " 9 }] 

B = [{ " " :11 " 번째" : 22이고, " THIRD " : 33이다 }, 
     { " 퍼스트 " : 44이며, " SECOND " 55, " THIRD " : 66 }, 
     { " 퍼스트 " 77, " SECOND " 88, " THIRD " : 99 } ]

 >>> 대한 X, Y ZIP (A, B)
   인쇄 ( " 테마 상품명 : {}의 ID {} ~ 두 테마 상품명 : {} 이드 {} ~ 세 클래스 테마 이름 : {}, 세 개의 ID : {} " .format (X [ "FIRST_NAME "], Y는 [ " 최초 " ], X [ " SECOND_NAME " ], Y [ " SECOND " ], X [ " third_name " ], Y [ " THIRD " ])) 
 
 의 결과는은 다음과 
주체 이름 : (1),을 클래스 ID : 11 ~ 이름 두 주제 : 2, 두 개의 ID : 22 ~ 세 가지 주제 이름 : 3, 세 개의 ID : 33 
주제 이름 : (4), ID : 44 ~ 이름 두 주제 : 5, 이드 : 55 ~ 세 가지 주제 이름 : 6 세 ID : 66 
주제 이름 : 7에 id : 77 ~ 이름 두 주제 : 8, 이드 : 88 ~ 세 가지 주제 이름 : 9 고등 ID : 99

 응용 프로그램 5.format () SQL 문을의 준비 기능

파이썬 SQL 문을 예를 들어, 따옴표 한 쌍을 쓸 필요가있다,

= original_sql " 은 SELECT *이 동영상보기 MOVIE_NAME이 재생되는 = '미친 동물의 도시'에서 "

해당 데이터베이스가 없습니다 "미친 동물의 도시"이 데이터의 경우 핸드 오버 실행 환경은, 다음 SQL 쿼리는 null 실패 할 경우 위의 문 MOVIE_NAME 필드는 현재 고정 된 값입니다

우리가 많은이 있는지 확인해야합니다 그래서 가능한 한 MOVIE_NAME의 값을 조회합니다

 

이 시간에 미리 준비 또는 MOVIE_NAME 번호 MOVIE_NAME 값을 얻을 수있는 인터페이스가있는 경우

그럼 당신은 MOVIE_NAME 반환 인터페이스를 읽거나 사전 amovie_name 준비 읽을 수 있습니다

 

그러므로 우리는 전달 된 값을 동적으로 읽을 수있는 SQL 문 MOVIE_NAME이 파라미터 만들 수있는 방법을 찾을 필요

그래서 문자열에 해당하는 것이, 그것을 사용하는 것이 가능하고, (가) 조심 SQL 문 위에 언급 SQL 문 따옴표 한쌍 참조 () 포맷 함수 목적을 달성하려면

다음과 같은 방법을 사용

= 영화 [ " 미친 동물의시 " , " 나쁜 사람은 죽어야한다 " , " 냉동 " ] 

original_sql = " MOVIE_NAME가 재생되는 SELECT *로부터 영화 = '{}' ' 
#의 주 그 문자는, 그래서 여기에 패키지 SQL에 인용 부호를 사용하기 때문에 {} 필요 지수는 ({} 소정의 위치에 저장된 값 MOVIE_NAME로 간주 될 수있다) 

에 대한 I 에서 동영상 : 
    SQL = original_sql.format (I)
     전단 (SQL)

운영 결과

 

 

방법이라고 get_name ()가 영화의 이름을 반환하는 경우의 예에서 살펴 보자는 방법이라는 get_date ()이 영화의 출시 날짜를 반환
SQL 쿼리의 이름과 출시 날짜를 넣어해야 다음 영화를

original_sql = " MOVIE_NAME = 여기서는 영화 선택 *"{} "와 RELEASE_DATE ="{} " 

SQL = original_sql.format (self.get_name () self.get_date ())

함수는 파라미터를 제공 할 수있다 () 또한 형식

위의 예는 변경 될 수있다

original_sql = " MOVIE_NAME이 = 영화에서 선택 * '{이름}'과 출시일 = '{날짜}' " 

SQL = original_sql.format (이름 = self.get_name (), 날짜 = self.get_date ())

6. 정규 표현식은 한자를 추출

때로는 필드가 반환 인터페이스의 시간 가치가 자동으로 접미사를 추가합니다

조 스미스 QT, 신원 미상 1, 왕 우 RW : 예 : 사용자 이름

 

사실, 그것은 순수한 한자, 접미사없이 데이터베이스 데이터에 존재입니다

예를 들면 :

이름 = '조 스미스는'데이터 #에서 찾을 수있는 NAME_LIST SELECT * FROM

NAME_LIST SELECT * FROM 어디 이름 = '조 스미스 QT'# 찾는 데이터

 

그래서 인터페이스를 통해 이러한 데이터를 획득 한 후, 우리는 한자를 떠나, 그것을 처리 할 필요가 다음 SQL 쿼리에 전달

여기에 정규 표현식의 방법에 의해 처리됩니다

오기 레이놀즈 

이름 = " 홍길동 RX " 
패턴 = re.compile (R & LT는 ' [\ u4e00- \ u9fa5] ' )   # 1 숫자의 문자열의 끝 제거 정규식을 정의 
m = pattern.findall (이름)   #의 매칭 결과를 각 문자로 구성된 목록을 반환 
인쇄 (m) 
real_name = "" .join (m)   # 문자열로 구성된 각 
인쇄 (real_name를)

운영 결과

 

추천

출처www.cnblogs.com/hanmk/p/11869908.html