如何让Pyflakes忽略一条语句?
我们很多模块的开头都是这样的:
try:
import json
except ImportError:
from django.utils import simplejson as json # Python 2.4 fallback.
...而且这是整个文件中唯一的Pyflakes警告:
foo/bar.py:14: redefinition of unused 'json' from line 12
我该怎么让Pyflakes忽略这个警告呢?
(通常我会去看看文档,但这个链接坏了。如果没有人能回答,我就自己去看源代码。)
9 个回答
9
是的,不幸的是,dimod.org 现在无法访问,所有相关的内容也都没了。
从 pyflakes 的代码来看,感觉它是为了方便用作“嵌入式快速检查器”而设计的。
如果你想实现忽略某些功能,你需要自己写代码来调用 pyflakes 的检查器。
这里有个思路可以参考:http://djangosnippets.org/snippets/1762/
需要注意的是,上面的代码片段只适用于同一行上的注释。如果你想忽略一整块代码,可能需要在那块代码的文档字符串里加上 'pyflakes:ignore',然后根据 node.doc 来过滤。
祝你好运!
我使用 pocket-lint 来进行各种静态代码分析。这里是为了忽略 pyflakes 而在 pocket-lint 中做的修改:https://code.launchpad.net/~adiroiban/pocket-lint/907742/+merge/102882
56
我知道这个问题之前有人问过,也已经有了答案。
不过我想分享一下我通常使用的方法:
try:
import json
assert json # silence pyflakes
except ImportError:
from django.utils import simplejson as json # Python 2.4 fallback.
236
如果你能使用 flake8,这个工具结合了 pyflakes 和 pep8 检查器,那么在代码行的末尾加上
# NOQA
(这里的空格很重要——代码末尾和 #
之间要有两个空格,#
和 NOQA
之间要有一个空格)就可以告诉检查器忽略这一行的任何错误。