我有以下行在我的标题:
import config.logging_settings
这实际上改变了我的Python日志设置,但Pylint认为这是一个未使用的导入。我不想在一般情况下删除未使用的导入警告,所以是否可以忽略这一行?
我不介意这个项目有一个.pylintrc,所以改变配置文件的答案将被接受。
否则,像这样的东西也会受到赞赏:
import config.logging_settings # pylint: disable-this-line-in-some-way
我有以下行在我的标题:
import config.logging_settings
这实际上改变了我的Python日志设置,但Pylint认为这是一个未使用的导入。我不想在一般情况下删除未使用的导入警告,所以是否可以忽略这一行?
我不介意这个项目有一个.pylintrc,所以改变配置文件的答案将被接受。
否则,像这样的东西也会受到赞赏:
import config.logging_settings # pylint: disable-this-line-in-some-way
我相信你在找…
import config.logging_settings # @UnusedImport
注意注释前的双空格,以避免碰到其他格式警告。
另外,根据您的IDE(如果您正在使用IDE),可能有一个选项可以添加正确的忽略规则(例如,在Eclipse中,当光标在警告上方时,按Ctrl + 1将自动提示@UnusedImport)。
import config.logging_settings # pylint: disable=W0611
这很简单,对这条直线来说是特定的。
你可以也应该使用更易读的形式:
import config.logging_settings # pylint: disable=unused-import
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
...
# pylint: enable=no-member
只适用于某一行:
global VAR # pylint: disable=global-statement
或者为了不那么冗长,禁用下面的ONLY行(pylint 2.10+):
# pylint: disable-next=global-statement
global VAR
Pylint的手册中还有更多的例子。
有一个wiki文档记录了所有Pylint消息及其代码。
在https://github.com/PyCQA/pylint/tree/master/pylint/checkers中签出文件。我还没有找到比Ctrl + F-ing这些文件或使用GitHub搜索功能更好的方法来从消息中获取错误名称:
如果消息是“No name…”在模块…"中,使用搜索:
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
除了接受的答案:
可以通过添加pylint: enable:SPECIFIC_ERROR重新启用错误检查
例如,在我的代码中有这样的代码:
import time
import datetime
import os
import sys
# pylint: disable=import-error
import serial
# pylint: enable=import-error
通过这种方式,您可以忽略单行上的单个错误,而不必在整个文件中禁用检查该错误