我的标题中有以下行:
import config.logging_settings
这实际上改变了我的python日志设置,但是pylint认为它是一个未使用的导入。我一般不想删除unused-import
警告,所以可以忽略这一条特定的行吗?
我不介意为此项目设置.pylintrc
,因此将接受更改配置文件的答案。
否则,这样的事情也将受到赞赏:
import config.logging_settings # pylint: disable-this-line-in-some-way
答案 0 :(得分:132)
Pylint消息控件记录在the Pylint manual:
中是否可以在本地禁用特定消息?
是的,此功能已添加到Pylint 0.11中。这可以通过添加
来完成#pylint: disable=some-message,another-one
在所需的块级别或所需代码行的末尾
您可以使用消息代码或符号名称。
本手册还有an example。
a wiki记录所有pylint消息及其代码。
答案 1 :(得分:36)
import config.logging_settings # pylint: disable=W0611
这很简单,并且特定于该行。
正如sthenault所指出的,你可以而且应该使用更易读的形式:
import config.logging_settings # pylint: disable=unused-import
答案 2 :(得分:5)
我相信你正在寻找的是......
import config.logging_settings # @UnusedImport
请注意评论前的双倍空格,以避免遇到其他格式化警告。
此外,根据您的IDE(如果您正在使用它),可能还有一个选项可以添加正确的忽略规则(例如在eclipse中按 Ctrl 1 ,当光标结束时,警告将自动建议@UnusedImport
答案 3 :(得分:3)
检出https://github.com/PyCQA/pylint/tree/master/pylint/checkers中的文件。我没有找到比Ctrl + F-ing这些文件或使用Github搜索功能更好的从消息中获取错误名称的方法:
如果消息是“模块中没有名称...”,请使用搜索:
No name %r in module %r repo:PyCQA/pylint/tree/master path:/pylint/checkers
或者,为了得到更少的结果:
"No name %r in module %r" repo:PyCQA/pylint/tree/master path:/pylint/checkers
Github将向您显示:
"E0611": (
"No name %r in module %r",
"no-name-in-module",
"Used when a name cannot be found in a module.",
您可以执行以下操作:
from collections import Sequence # pylint: disable=no-name-in-module
答案 4 :(得分:2)
除了接受的答案:
您可以重新启用错误检查添加 pylint: enable:SPECIFIC_ERROR
例如,我的代码中有这个:
import time
import datetime
import os
import sys
# pylint: disable=import-error
import serial
# pylint: enable=import-error
这样您就可以忽略一行中的单个错误,而不必禁用检查整个文件中的错误