繁体   English   中英

Pylint:如何在没有后续“压制消息”废话的情况下干净地压制事物?

[英]Pylint: How do I cleanly suppress things without subsequent 'suppressed-message' nonsense?

我有一个文件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来自己打开它们,然后你没有在同一部分的disable列表中禁用它们。 suppressed-message添加到pylintrc中的disable列表中,抑制消息消息应该停止显示。

至于无用抑制消息,这似乎是一个pylint错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM