问题:是否可以忽略带有pylint的单个特定行?
标头中包含以下行:
import config.logging_settings
这实际上改变了我的python日志记录设置,但是pylint认为这是未使用的导入。我一般不希望删除unused-import
警告,因此可以忽略这一行吗?
我不介意.pylintrc
为此项目准备一个,因此更改配置文件的答案将被接受。
否则,这样的事情也将不胜感激:
import config.logging_settings # pylint: disable-this-line-in-some-way
回答 0
Pylint信息控件记录在Pylint手册中:
是否可以在本地禁用特定消息?
是的,此功能已在Pylint 0.11中添加。这可以通过
# pylint: disable=some-message,another-one
在所需的块级别或所需的代码行的末尾添加来完成
您可以使用消息代码或符号名。
例如
def test():
# Disable all the no-member violations in this function
# pylint: disable=no-member
...
global VAR # pylint: disable=global-statement
该手册还有更多示例。
有一个Wiki,记录所有pylint消息及其代码。
回答 1
import config.logging_settings # pylint: disable=W0611
这很简单,并且专门针对该行。
正如sthenault所指出的那样,您可以并且应该使用更具可读性的形式:
import config.logging_settings # pylint: disable=unused-import
回答 2
我相信您正在寻找的是…
import config.logging_settings # @UnusedImport
注意注释前的双倍空格,以免出现其他格式警告。
另外,根据您的IDE(如果使用的是IDE),可能有一个选项可以添加正确的忽略规则(例如,Ctrl1在光标悬停时按eclipse键,警告将自动建议@UnusedImport
回答 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
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。