flake8:仅忽略整个文件中的 F401 规则

flake8: Ignore only F401 rule in entire file

有没有办法让 flake8 只忽略整个文件的特定规则?具体来说,我只想忽略整个文件的 F401

我有一个类似 __init__.py 的文件,我在其中导入了该文件中从未使用过的符号。我不想在每一行中添加 # noqa。我可以将 # flake8: noqa 添加到文件的开头,但这会忽略 all 规则。我想忽略只是 F401 规则。

根据 Documentation,只需通过以下方式更改 # noqa 即可:

# noqa: F401

目前没有一种方法可以仅使用文件本身内部的源代码来完成您要求的操作

当前建议的方法是在 flake8 配置中使用 per-file-ignores 功能:

[flake8]
per-file-ignores =
    */__init__.py: F401

请注意 F401 特别可以 以更好的方式解决 __all__ 中公开的任何名称将被 [=16] 忽略=]:

from foo import bar  # would potentially trigger F401
__all__ = ('bar',)  # not any more!

(免责声明:我是 flake8 的当前维护者,也是 pyflakes 的维护者之一)