出于可读性原因,我更喜欢对齐某些类型的语句,例如在以下情况下(这涉及一些 PyParsing 代码,但细节无关紧要):

_otherwise_stmt = _OTHERWISE ('otherwise statement')
_else_stmt      = _ELSE      ('else statement')
_end_stmt       = _END       ('end statement')

为此,pep8 会提示 E221(“运算符之前的多个空格”)和 E211(“'('”之前的空格)。如果我将 # noqa 放在每一行的末尾,pep8 仍然会提示这些行。但是,对于我文件中其他地方的其他构造,# noqa 按预期工作。我很困惑为什么 # noqa 没有使 pep8 对这些特定构造按预期工作。

这是 pep8 程序中的错误,还是我在这里做错了什么?

最佳答案

pep8 脚本仅允许您使用 # noqa 注释禁用特定的错误代码。

Error Codes table ;只有标有 (^) 的错误代码才能以这种方式静音。 E211 和 E221 不在其中(E2* 代码都不是):



就我个人而言,我更喜欢使用 flake8 tool ,它将 pep8 与 PyFlakes 相结合,让您可以更自由地使用 # noqa 标记。

关于python - 在某些情况下,pep8 是否无法识别 `# noqa`?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28594049/

10-12 19:33