pyLint看起来像是运行python代码分析的好工具。但是,我们的主要目标是捕获任何潜在的错误而不是编码约定。启用所有pyLint检查似乎会产生很多噪音。关于你使用的一组pyLint功能的任何建议是否有效?
答案 0 :(得分:23)
您可以通过以下方式阻止任何您不喜欢的警告/错误:
pylint --disable=error1,error2
我已阻止以下内容(来自http://www.logilab.org/card/pylintfeatures的说明):
W0511:当检测到警告音符为FIXME或XXX时使用
W0142:使用*或* magic *当使用*args
或**kwargs
调度函数或方法来调度参数时使用。这不会提高可读性,应谨慎使用。
W0141:使用的内置函数%r在使用黑名单内置函数时使用(请参阅bad-function选项)。通常黑名单的功能就像map或filter,其中Python现在提供了一些更清晰的选择,如列表理解。
R0912:分支太多(%s /%s)当函数或方法分支太多时使用,使其难以理解。
R0913:参数太多(%s /%s)当函数或方法占用太多参数时使用。
R0914:局部变量太多(%s /%s)当函数或方法有太多局部变量时使用。
R0903:公共方法太少(%s /%s)当类的公共方法太少时使用,所以要确保它真的值得。
W0212:访问客户端类的受保护成员%s当受保护成员(即名称以下划线开头的类成员)访问类或类定义的后代时使用。
W0312:找到带有%ss而不是%ss的缩进。当模块中有一些混合制表符和空格时使用。
C0111:缺少docstring当模块,函数,类或方法没有docstring时使用。某些特殊方法(如__init__
)不一定需要文档字符串。
C0103:名称“%s”无效(应匹配%s)当名称与其类型(常量,变量,类......)关联的正则表达式不匹配时使用。
答案 1 :(得分:10)
要持久禁用警告和约定:
~/.pylintrc
pylint --generate-rcfile > ~/.pylintrc
文件
~/.pylintrc
disable=
并将该行更改为disable=W,C
答案 2 :(得分:9)
Pyflakes应该很好地满足您的目的。
答案 3 :(得分:7)
-E只会标记pylint认为的错误(即没有警告,没有约定......)
答案 4 :(得分:1)
使用grep之类的:
pylint my_file.py | grep -v "^C"