Ignoring Errors文档目前列出了忽略特定行的特定错误的方法:
example = lambda: 'example' # noqa: E731
...以及忽略整个文件的所有错误的方法:
# flake8: noqa
from foo import unused
function_that_doesnt_exist()
x = 1+ 2
...以及通过配置或命令行选项在整个项目中禁用全局的特定错误的几种方法。
但是如果我想在整个单个文件中忽略特定错误怎么办 - 例如,禁用{{1}中有关未使用导入的警告桶文件,只是导入一堆类,以便其他包中的代码可以依次从中导入它们?这些文档似乎没有暗示任何语法。有可能吗?
答案 0 :(得分:14)
在3.7.0版之前,忽略特定错误仅实现了per-line,而不是按文件实现。
正在issue #89中跟踪和讨论该功能,其中仅采用了每行提案。最近,this merge request提出了一项实施,没有人跟进。
然而,出现了一些扩展来解决这个问题:
flake8-per-file-ignores
允许您通过配置中的条目忽略特定文件的特定警告/错误。
flake8-putty
声称也会这样做,但暂时没有更新。
答案 1 :(得分:12)
从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
在此处查看文档:{{3}}
不可能像文件中的每一行一样在文件顶部放置noqa
注释以用于特定代码。 # flake8: noqa: F401
乍看起来似乎有用,但是实际上仅被检测为# flake8: noqa
,这意味着“忽略文件中的所有条消息”。