python 有没有可能忽略Pylint中的一个特定行?

aemubtdh  于 12个月前  发布在  Python
关注(0)|答案(6)|浏览(136)

我的header里有这样一行:

import config.logging_settings

字符串
这实际上改变了我的Python日志记录设置,但Pylint认为这是一个未使用的导入。我不想删除一般的unused-import警告,所以可以忽略这一行吗?
我不介意这个项目有一个.pylintrc,所以改变配置文件的答案将被接受。
否则,类似这样的东西也会受到赞赏:

import config.logging_settings # pylint: disable-this-line-in-some-way

kokeuurv

kokeuurv1#

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的手册也有further examples
a wiki记录了所有Pylint消息及其代码。

gxwragnw

gxwragnw2#

import config.logging_settings # pylint: disable=W0611

字符串
这很简单,而且是针对这一行的。
你可以而且应该使用更易读的形式:

import config.logging_settings # pylint: disable=unused-import

bjp0bcyl

bjp0bcyl3#

除了公认的答案:
您可以重新启用添加pylint: enable:SPECIFIC_ERROR的错误检查
例如,我的代码中有这样的代码:

import time
import datetime
import os
import sys
# pylint: disable=import-error
import serial
# pylint: enable=import-error

字符串
这样,您就可以忽略单行上的单个错误,而不必在整个文件中禁用对该错误的检查

wz3gfoph

wz3gfoph4#

检查https://github.com/PyCQA/pylint/tree/master/pylint/checkers中的文件。我还没有找到比Ctrl + F-ing这些文件或使用GitHub搜索功能:更好的方法来从消息中获取错误名称:
如果消息是“No name... in module...",则使用搜索:

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

chhkpiq4

chhkpiq45#

我相信你在找...

import config.logging_settings  # @UnusedImport

字符串
注意注解前的双空格,以避免碰到其他格式警告。
此外,根据您的IDE(如果您正在使用IDE),可能会有一个选项来添加正确的忽略规则(例如,在Eclipse中,当光标位于警告上时,按Ctrl + 1将自动建议@UnusedImport)。

0kjbasz6

0kjbasz66#

如果您想禁用单行的 all 检查:
第一个月
从doc:
为了控制消息,pylint接受以下值:
[...]

  • 所有带有all的检查

相关问题