11

我正在尝试将 Pylint 设置为仅进行某些检查而不进行其他检查,例如仅检查 W0601 和 W0612。我尝试在我的 pylint.rc 部分使用enable=一行,[MESSAGES CONTROL]但这似乎并没有达到我想要的效果。

我正在使用 Pylint 0.25.1。

4

3 回答 3

13

看起来像 rc 文件解析方式的错误。

命令行上的订单事项(未记录?)因此您需要先禁用然后启用:

pylint xyz.py --disable R,C,W,E --enable W0601,W0612

但这不能正确反映--generate-rcfile并且不能用于--rcfile...这些可能是错误。就像#36584一样。

在带有 disable 行的 rc 文件中,所有消息都被禁用,即使在命令行上启用 disable before enable 也是如此。

[MESSAGES CONTROL]
disable=R,C,W,E
enable=W0601,W0612
于 2012-07-12T05:47:23.047 回答
9

在 Pylint >= 0.27 中有一个新--disable=all选项

pylint --disable=all --enable=W0201

或者

pylint -d all -e W0201

您可以将它放在 rc 文件中,但正如aneroid指出的那样,仍然存在一个错误,这意味着您无法启用任何消息,除了从命令行,所以:

[MESSAGES CONTROL]
disable=all

然后

pylint -e W0201

会工作。

于 2013-05-22T02:50:08.323 回答
1

@aneroid:您可能是对的,在生成/读取配置文件时可能存在顺序问题;并且还应记录命令行上的顺序很重要的事实。我已经计划并相应地评论了您所指的票。

@peter-graham,所以您可能必须使用命令行来实现这一点,直到修复 #36584 票证。我会推荐:

pylint --disable-all --enable=W0601,W0612
于 2012-07-12T07:10:11.180 回答