如何禁用特定文件中的pep8错误?


77

我尝试过

#:PEP8 -E223

要么

# pep8: disable=E223

我以为第二个可行,但似乎不可行。

您知道我该如何处理吗?

Answers:


94

据我所知,你做不到。您可以在整个用户范围或每个项目中禁用错误​​或警告。请参阅文档

相反,您可以# noqa在行尾使用注释,以跳过该特定行(请参阅补丁136)。当然,这将跳过所有PEP8错误。

主要作者反对源文件噪声,因此他们建议# pep8不要包含注释。


请注意,还有nopep8,它是等效的。noqa在1.4.1版本中添加了No Quality Assurance,以支持旁边运行的人员pyflakespep8


8
谢谢。但就我而言,我不想跳过特定的行:-(在我看来,在文件开头添加诸如“#pep8:disable E221”之类的东西比指定要忽略的每一行要少得多。但是,这是我的一点感谢您的回答!

39

尝试放在# nopep8行尾(两个空格后)。因此,如果代码行是:

h=1+2+3+4+5+6+func( "hello","world")

然后忽略该行的大量pep8错误,它将变为:

h=1+2+3+4+5+6+func( "hello","world")  # nopep8


16

让我添加在发布所有先前答案之后可能引入的内容。

如果使用Flake8,则可以通过添加以下内容来忽略特定行中引发的特定违规行为:

# noqa: F401

在该行的末尾,F401这里是错误代码的示例。有关所有违规代码的列表,请参见http://flake8.pycqa.org/en/3.5.0/user/error-codes.htmlhttps://pycodestyle.readthedocs.io/en/latest/intro.html #错误代码

您还可以通过添加来忽略整个文件中的所有违规

# flake8: noqa

文件中的任何位置。

参考:http : //flake8.pycqa.org/en/3.5.0/user/violations.html




0

您可以使用例如设置配置文件(setup.cfg)来完成此操作:

[tool:pytest]
pep8ignore =
    *.py E501 W503
    api.py E402                <=============== HERE
    doc/* ALL
pep8maxlinelength = 120
flakes-ignore =
    UnusedImport
filterwarnings =
  ignore::DeprecationWarning
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.