2012-09-16 2 views
2

Requests을 사용하는 모듈을 테스트 할 때, pylint는 적합하고 내가 사용하는 various members of the Request object이 존재하지 않는다고 주장합니다. 이 문제를 어떻게 해결할 수 있습니까? 이미 --generated-members = objects 옵션을 사용하여 pylint를 실행했습니다.pylint 허용 요청하기

import requests 

response = requests.get('https://github.com/timeline.json') 

print response.content 

을하지만 pylint 필드가 존재하지 않는 주장 :

예를 들어,이 코드는 잘 실행

이 ID

: '요청'의 E1103 인스턴스에는 '내용'멤버가 없습니다 (하지만 일부 유형을 유추 할 수 없습니다.)

+0

'#pylint : disable = warning-code'와 같은 주석을 사용하여 pylint 경고를 로컬에서 비활성화 할 수 있습니다. [여기] (http://pylint-messages.wikidot.com/all-codes)에서 코드 목록을 찾을 수 있습니다. – Bakuriu

+0

일부 코드와 정확한 오류 메시지를 표시 할 수 있습니까? – Vicent

+0

@Vicent 추가 된 예. –

답변

3

pylint 경고 및 오류 메시지를 구성 할 수 있습니다.

먼저 모든 필링 검사에 대해 일부 메시지를 사용하지 않으려면 ${HOME}/.pylintrc을 쓸 수 있습니다. --generate-rc-file 옵션을 사용하여이 파일의 기본 버전을 생성 할 수 있습니다. (자세한 내용은 this 질문을 참조하십시오).

분석 된 소스에서 구성 할 수도 있습니다. 예를 들어 파일의 시작 부분에 몇 가지 설명을 넣는 경우. 이렇게하면 전체 파일에 대한 메시지가 비활성화됩니다. 주석의 형식은 #pylint: disable=warning-code이고 "warning-code"는 here 인 목록 중 하나입니다.

메시지를 로컬에서 사용하지 않도록 설정하고 명령문/표현식의 앞이나 옆에 주석을 넣을 수도 있습니다. 예를 들어

,이 함수 내부의 코드에 대한 "C0322"경고를 비활성화합니다

def my_func(): 
    #C0322 -> no space between operand and operator 
    #pylint: disable=C0322 
    return a+b 

오른쪽에있는 주석을 퍼팅 코드의 한 라인을 비활성화하는 동안 :

def my_func(): 
    return a+b #pylint: disable=C0322 

귀하의 경우에는 request을 사용하는 함수의 시작 부분에 주석을 달거나 여러 번 액세스하지 않으면 명령문 오른쪽에 주석을 달 수 있다고 생각합니다.