在搜索Python项目时,我发现了一些用# noqa
评论的行。
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
noqa
在Python中意味着什么?它只针对Python吗?
将# noqa
添加到一行表示linter(一个自动检查代码质量的程序)不应该检查此行。代码可能生成的任何警告都将被忽略。
这条线可能有一些“看起来很糟糕”的东西,但开发商理解并打算出于某种原因它在那里。
有关更多信息,请参阅Flake8 documentation for Selecting and Ignoring Violations。
它在Python编程中通常被称为忽略PEP8警告。
简单来说,linter程序将忽略末尾有#noqa的行,它们不会引发任何警告。
你知道吗?甚至Guido van Rossum(Python的创造者)asked this question before:D
它曾经是“nopep8”但是当Flake8和Pep8想要一个普通的资格赛时@florentx建议“无质量保证”(iirc)中的“NoQA”并且它被卡住了。
Some basic usages of # noqa
(与flake8):
# flake8: noqa
:跳过包含此行的文件# noqa
评论的行:不会发出警告# noqa: <error>
,例如,最后的# noqa: E234
:忽略一行上的特定错误
可以给出多个错误代码,用逗号分隔
代码列表前的冒号是必需的