在 pylint 中,有没有一种方法可以在本地禁用警告,然后撤消之前的抑制,而无需明确给出列表?

2024-04-07

我知道FAQ http://docs.pylint.org/faq.html#is-there-a-way-to-disable-a-message-for-a-particular-module-onlyPyLint 的条目指出:

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 https://bitbucket.org/logilab/pylint/issues

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 pylint 中,有没有一种方法可以在本地禁用警告,然后撤消之前的抑制,而无需明确给出列表? 的相关文章

随机推荐