Pyflakes가 문장을 무시하도록하려면 어떻게해야합니까?
많은 모듈이 다음으로 시작합니다.
try:
import json
except ImportError:
from django.utils import simplejson as json # Python 2.4 fallback.
... 그리고 전체 파일에서 유일한 Pyflakes 경고입니다.
foo/bar.py:14: redefinition of unused 'json' from line 12
Pyflakes가 이것을 무시하도록하려면 어떻게해야합니까?
(일반적으로 나는 문서를 읽을 것이지만 링크가 끊어졌습니다. 아무도 답이 없으면 소스를 읽을 것입니다.)
flake8을 대신 사용할 수 있다면 -pep8 검사기뿐만 아니라 pyflakes를 감싸는-
# NOQA
(공백이 큰 경우-코드 끝과 코드 #
사이와 NOQA
텍스트 사이에 2 개의 공백이 있음 )은 검사기에게 해당 행의 오류를 무시하도록 지시합니다.
나는 이것이 얼마 전에 질문을 받았으며 이미 답변되었다는 것을 알고 있습니다.
그러나 나는 일반적으로 사용하는 것을 추가하고 싶었습니다.
try:
import json
assert json # silence pyflakes
except ImportError:
from django.utils import simplejson as json # Python 2.4 fallback.
그러나 안타깝게도 dimod.org는 모든 혜택과 함께 사용됩니다.
pyflakes 코드를 살펴보면 pyflakes가 "내장 된 빠른 검사기"로 쉽게 사용할 수 있도록 pyflakes가 설계된 것 같습니다.
무시 기능을 구현하려면 pyflakes checker를 호출하는 자체 작성해야합니다.
여기에서 아이디어를 찾을 수 있습니다 : http://djangosnippets.org/snippets/1762/
위의 스 니펫은 주석의 경우에만 같은 줄에 배치됩니다. 전체 블록을 무시하기 위해 블록 docstring에 'pyflakes : ignore'를 추가하고 node.doc를 기준으로 필터링 할 수 있습니다.
행운을 빕니다!
모든 종류의 정적 코드 분석에 포켓 린트를 사용하고 있습니다. pyflakes를 무시하기 위해 pocket-lint에서 변경된 사항은 다음과 같습니다. https://code.launchpad.net/~adiroiban/pocket-lint/907742/+merge/102882
다음은 # bypass_pyflakes
주석 옵션 을 추가하는 pyflakes의 원숭이 패치입니다 .
bypass_pyflakes.py
#!/usr/bin/env python
from pyflakes.scripts import pyflakes
from pyflakes.checker import Checker
def report_with_bypass(self, messageClass, *args, **kwargs):
text_lineno = args[0] - 1
with open(self.filename, 'r') as code:
if code.readlines()[text_lineno].find('bypass_pyflakes') >= 0:
return
self.messages.append(messageClass(self.filename, *args, **kwargs))
# monkey patch checker to support bypass
Checker.report = report_with_bypass
pyflakes.main()
이것을로 저장하면을 (를)로 bypass_pyflakes.py
호출 할 수 있습니다 python bypass_pyflakes.py myfile.py
.
http://chase-seibert.github.com/blog/2013/01/11/bypass_pyflakes.html
github 이슈 티켓 에서 인용하려면 :
수정 프로그램이 계속 제공되는 동안 궁금한 점이 있으면 다음과 같이 해결할 수 있습니다.
try: from unittest.runner import _WritelnDecorator _WritelnDecorator; # workaround for pyflakes issue #13 except ImportError: from unittest import _WritelnDecorator
필요한 엔티티 (모듈, 함수, 클래스)가있는 Substitude _unittest 및 _WritelnDecorator
- 디 무우 어
로 가져올 수도 있습니다 __import__
. pythonic은 아니지만 pyflakes는 더 이상 경고하지 않습니다. 에 대한 설명서를__import__
참조하십시오 .
try:
import json
except ImportError:
__import__('django.utils', globals(), locals(), ['json'], -1)
I created a little shell script with some awk
magic to help me. With this all lines with import typing
, from typing import
or #$
(latter is a special comment I am using here) are excluded ($1
is the file name of the Python script):
result=$(pyflakes -- "$1" 2>&1)
# check whether there is any output
if [ "$result" ]; then
# lines to exclude
excl=$(awk 'BEGIN { ORS="" } /(#\$)|(import +typing)|(from +typing +import )/ { print sep NR; sep="|" }' "$1")
# exclude lines if there are any (otherwise we get invalid regex)
[ "$excl" ] &&
result=$(awk "! /^[^:]+:(${excl}):/" <<< "$result")
fi
# now echo "$result" or such ...
Basically it notes the line numbers and dynamically creates a regex out it.
참고URL : https://stackoverflow.com/questions/5033727/how-do-i-get-pyflakes-to-ignore-a-statement
'development' 카테고리의 다른 글
'T'유형의 값은로 변환 할 수 없습니다 (0) | 2020.06.30 |
---|---|
시스템에서 부스트 버전을 확인하는 방법은 무엇입니까? (0) | 2020.06.30 |
Xcode에서 특정 소스 파일의 모든 경고를 억제하는 방법은 무엇입니까? (0) | 2020.06.30 |
데이터베이스에서 동적 HTML 문자열 컴파일 (0) | 2020.06.30 |
캐시 지우기가있는 window.location.reload (0) | 2020.06.30 |