source

Flake8: 전체 파일에 대한 특정 경고 무시

manysource 2023. 6. 19. 21:41

Flake8: 전체 파일에 대한 특정 경고 무시

오류 무시 문서에는 현재 특정 행에 대한 특정 오류를 무시하는 방법이 나열되어 있습니다.

example = lambda: 'example'  # noqa: E731

전체 파일에 대한 모든 오류를 무시하는 방법:

# flake8: noqa

from foo import unused
function_that_doesnt_exist()
x = 1+       2

구성 또는 명령줄 옵션을 통해 프로젝트 전체에서 특정 오류를 전체적으로 비활성화하는 몇 가지 방법이 있습니다.

그러나 단일 파일 전체에서 특정 오류를 무시하려면 어떻게 해야 합니까? 예를 들어, 사용하지 않는 가져오기에 대한 경고를 사용하지 않도록 설정하는 것입니다.__init__.py다른 패키지의 코드가 차례로 클래스를 가져올 수 있도록 클래스 묶음을 가져오는 배럴 파일?문서들은 이것에 대한 구문을 암시하지 않는 것 같습니다.가능합니까?

Flake8 3.7.0 이후에는 다음을 사용하여 이 작업을 수행할 수 있습니다.--per-file-ignores선택.

명령줄 예제

flake8 --per-file-ignores="project/__init__.py:F401 setup.py:E121"

또는 구성 파일에서

per-file-ignores =
    project/__init__.py:F401
    setup.py:E121
    other_project/*:W9

다음 문서를 참조하십시오. http://flake8.pycqa.org/en/latest/user/options.html?highlight=per-file-ignores#cmdoption-flake8-per-file-ignores

다음을 배치할 수 없습니다.noqa파일 맨 위에 있는 특정 코드에 대한 주석을 입력합니다. 예를 들어 개별 줄에 대한 주석을 입력합니다. # flake8: noqa: F401처음에는 작동하는 것처럼 보일 수 있지만, 실제로는 그것만 감지되고 있습니다.# flake8: noqa즉, "파일의 모든 메시지 삭제"를 의미합니다.

버전 3.7.0 이전에는 특정 오류를 무시하는 기능이 파일 단위가 아닌 줄 단위로만 구현되었습니다.

이 기능은 #324호에서 논의되었으며 프로젝트는 구현하지 않기로 선택했습니다.아무도 후속 조치를 취하지 않은 이 병합 요청에 구현이 제안되었습니다.

그러나 이 문제를 해결하기 위한 몇 가지 확장 기능이 등장했습니다.

  • [humanued]를 사용하면 구성의 항목을 통해 특정 파일에 대한 특정 경고/경고를 무시할 수 있습니다.

  • flake8-putty 동일하다고 주장하지만 한동안 업데이트되지 않았습니다.

파일 자체에 "무시" 규칙을 추가할 수 있도록 flake8 플러그인을 구현했습니다(기본 구성 접근 방식과 반대로). 플러그인은 다음 구문을 사용합니다.

# flake8-in-file-ignores: noqa: E731,E123

언급URL : https://stackoverflow.com/questions/48153886/flake8-ignore-specific-warning-for-entire-file