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

Flo*_*ows 62 python pep8

我试过了

#:PEP8 -E223
Run Code Online (Sandbox Code Playgroud)

要么

# pep8: disable=E223
Run Code Online (Sandbox Code Playgroud)

我认为第二个会起作用,但似乎不起作用.

你知道我怎么能处理这个吗?

小智 78

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

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

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


请注意,还有nopep8,这是等效的.noqa(在1.4.1版本中添加代表无质量保证,以支持旁边的人员运行.pyflakespep8

  • 谢谢.但在我的情况下,我不想跳过一个特定的行:-(在我看来,在文件开头添加诸如"#pep8:disable E221"之类的内容比指定要忽略的每一行更少.但这是我的观点!感谢您的回答. (5认同)

Ale*_*dro 33

尝试放在# nopep8行尾(两个空格后).所以,如果代码行是:

h=1+2+3+4+5+6+func( "hello","world")
Run Code Online (Sandbox Code Playgroud)

然后忽略该行的大量pep8错误:

h=1+2+3+4+5+6+func( "hello","world")  # nopep8
Run Code Online (Sandbox Code Playgroud)

  • 讽刺的是,让一条线变得更长,却说你希望忽略它的长度 (4认同)

Shr*_*rey 24

您可以使用--ignoreflag来禁用上面提到的错误

pep8 --ignore=E223 file_name.py
Run Code Online (Sandbox Code Playgroud)

多个错误

pep8 --ignore=E223,E501 file_name.py
Run Code Online (Sandbox Code Playgroud)

有关其他标志的更深入了解,您可以浏览http://pep8.readthedocs.org/en/latest/intro.html

  • 这并不能回答问题(虽然它可能有用)。 (3认同)

Ale*_*ino 13

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

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

# noqa: F401
Run Code Online (Sandbox Code Playgroud)

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

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

# flake8: noqa
Run Code Online (Sandbox Code Playgroud)

文件中的任何位置.

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