4.1节中的文档明确指出:
https://pylint.readthedocs.io/zh-CN/latest/faq.html#message-control
4.1 Is it possible to locally disable a particular message?
是的,此功能已在Pylint 0.11中添加。 这可以通过在所需块级别或所需代码行的末尾添加" #pylint:disable = some-message,another-one"来完成
大! 但这不起作用。 嘘
对于下面的代码行,我得到以下pylint错误
W: 26, 2: Redefining built-in 'zip' (redefined-builtin)
try:
from itertools import izip as zip # pylint: disable=bad-builtin
except ImportError:
pass
但是pylint只是更大声地抱怨我试图将其关闭:
E: 26, 0: Bad option value 'bad-builtin' (bad-option-value)
我也尝试过错误代码# pylint: disable=W0141,它也会产生类似的错误。
知道我在做什么错吗?
奇怪,我运行相同的代码,没有错误。
真奇怪 也许从一个版本更改为另一个版本?
我也遇到过类似的情况。
不可解决的问题
class A:
pass
pylint中的上述代码有很多警告,但我想谈一谈old-style-class。
在Python 2.7中,您将得到一个old-style-class错误。
当然,您可以这样更改代码:
class A(object):
pass
但是,您将在Python 3中收到useless-object-inheritance警告。
如果您正在编写与python 2.7和3兼容的软件包并使用pylint,则表示您不满意。
不可避免的错误选择值
是的,如果接受禁用注释中的old-style-class或useless-object-inheritance之一,则可以继续。
在Python 2.7中:
# pylint: disable=old-style-class
class A:
pass
在Python 3中:
# pylint: disable=useless-object-inheritance
class A(object):
pass
最终,您将得到一个bad-option-value,与这个问题相同。
禁用错误选项值
我已经尝试过,但是在这种情况下不能在本地禁用bad-option-value。
我必须在pylint配置文件(例如.pylintrc)中禁用bad-option-value。
[TYPECHECK]
disable=bad-option-value
注意:我的pylint版本在python 2.7中是1.9.4,在python 3中是2.2.2。
啊,简单的答案,应该是# pylint: disable=bad-option-value,它在括号中的错误消息中显示:
E: 26, 0: Bad option value 'bad-builtin' (bad-option-value)
为了确认,实际问题是pylint后面的冒号吗? 因此,要更正它,只需将# pylint: disable=bad-builtin更改为此# pylint disable=bad-builtin?
已在答案中更正了它,感谢您注意到该错字