在pylint中,有一种方法可以在本地禁用警告,然后在不显式给出列表的情况下撤消之前的抑制

In pylint is there a way to locally disable a warning and then undo the previous suppression without explicitly giving a list?

本文关键字:然后 列表 撤消 情况下 警告 pylint 一种 方法      更新时间:2023-10-16

我知道PyLint的FAQ条目,其中指出:

4.2是否有方法仅针对特定模块禁用消息

是的,您可以在模块级别,方法是在文件顶部:

# pylint: disable=wildcard-import, method-hidden
# pylint: enable=too-many-lines

但是,如何在本地抑制消息,然后简单地恢复抑制前的状态。我不想在恢复以前的状态时重复我自己。有办法做到这一点吗?

PyLint处理此问题的方法的一个缺点似乎是,如果我全局禁用特定消息some-message(例如命令行或pylintrc),则我有以下Python代码段:

# pylint: disable=some-message
foo, bar, baz = 0, 1, 2
# ... the code that creates the warning
# pylint: enable=some-message

文档表明,第一行不会有任何效果(即,已禁用的消息将保持禁用状态),而最后一行不仅会撤消第一行的局部效果(无论由于全局设置是否良性),还会撤消命令行选项或pylintrc设置。

我正在寻找一个类似于MS Visual C++中警告的功能:

#pragma warning(push) /* save current state of warning settings */
#pragma warning(disable:somewarning)
/* warning occurs in code here */
#pragma warning(pop)  /* restore previous state of warning settings */

一个更简洁的替代方案是:

#pragma warning(disable:somewarning)
/* warning occurs in code here */
#pragma warning(default:somewarning)

PyLint中是否存在这两种功能?

在pylint中没有这样的函数性。不过,您可以在其跟踪器上建议:https://bitbucket.org/logilab/pylint/issues

相关文章: