簡體   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