我有一个文件foo.py,广泛使用Faker第三方模块.因此,pylint会产生很多“无成员”错误.
我想在foo.py中禁用它们.所以在顶部,我试过了
插入:
# pragma pylint: disable=no-member
但是,以一种非常烦人的方式,pylint现在每次遇到其中一个错误时都会发出一条被抑制的消息 – 完全打败了我的pragma的目的?
foo.py:1:0: I0011: Locally disabling no-member (E1101) (locally-disabled)
... other misc stuff ...
foo.py:177:0: I0020: Suppressed 'no-member' (from line 1) (suppressed-message)
foo.py:83:0: I0020: Suppressed 'no-member' (from line 1) (suppressed-message)
foo.py:85:0: I0020: Suppressed 'no-member' (from line 1) (suppressed-message)
嗯……好吧……太荒谬了.
所以我试着……压制抑制消息?
# pragma pylint: disable=no-member,suppressed-message
然后它变得更好……
foo.py:1:0: I0011: Locally disabling no-member (E1101) (locally-disabled)
foo.py:1:0: I0011: Locally disabling suppressed-message (I0020) (locally-disabled)
foo.py:1:0: C0102: Black listed name "foo" (blacklisted-name)
.... misc stuff, actual things I should clean up here ...
foo.py:1:0: I0021: Useless suppression of 'suppressed-message' (useless-suppression)
所以我想我的问题是 – 如何在每个文件的基础上完全消除抑制消息,而不会丢弃一些烦人的替换消息?
编辑:谢谢你的评论.
输出pylint –version:
pylint 2.1.1
astroid 2.0.4
Python 3.6.5 (default, Apr 25 2018, 14:23:58)
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)]
最佳答案 默认情况下禁用I类消息.你通过在pylintrc的[MESSAGES CONTROL]部分设置enable = all来自己打开它们,然后你没有在同一部分的禁用列表中禁用它们.将suppress-message添加到pylintrc中的禁用列表中,抑制消息消息应该停止显示.
至于无用抑制消息,这似乎是一个pylint错误.