ai didi

pylint - 如何在 Pylint 中禁用 "No space allowed around keyword argument assignment"?

转载 作者:行者123 更新时间:2023-12-04 01:56:26 24 4
gpt4 key购买 nike

如何在 Pylint 中禁用“关键字参数分配周围不允许有空格”?

我找到了为什么它会检查空格( PEP 8, why no spaces around '=' in keyword argument or a default parameter value? ),但我不同意,因为这意味着我需要花费数小时来解决此消息。

我查找了该消息,以便可以在此处的 rcfile 中禁用它:http://pylint-messages.wikidot.com/all-codes
但是该消息没有出现在 pylint 文档中?!

最佳答案

在 Pylint 中禁用

这可以在 Pylint 中禁用与 bad-whitespace :

$ cat a.py
myfunca(myargb = 3)

$ pylint a.py --reports=n
No config file found, using default configuration
************* Module a
C: 1, 0: No space allowed around keyword argument assignment
myfunca(myargb = 3)
^ (bad-whitespace)
C: 1, 0: Missing module docstring (missing-docstring)
E: 1, 0: Undefined variable 'myfunca' (undefined-variable)

$ pylint a.py --disable bad-whitespace --reports=n
No config file found, using default configuration
************* Module a
C: 1, 0: Missing module docstring (missing-docstring)
E: 1, 0: Undefined variable 'myfunca' (undefined-variable)

在 PEP8 Checker 中禁用

为了完整起见,您可以为 pep8's checker 禁用相同的功能。与 E251 :
$ pep8 a.py 
a.py:1:15: E251 unexpected spaces around keyword / parameter equals
a.py:1:17: E251 unexpected spaces around keyword / parameter equals

$ pep8 a.py --ignore=E251

更新 - 关于抑制该消息的信息

AFAIK 您只能禁用 pylint 中 ID 粒度的消息,因为所有空白都具有相同的 ID bad-whitespace又名 C0326 因此,您可以忽略全部或不忽略。

This is the code检查消息是否被禁用,如您所见,它只接收要检查的 id:

def is_message_enabled(self, msg_descr, line=None, confidence=None):
"""return true if the message associated to the given message id is
enabled

msgid may be either a numeric or symbolic message id.
"""

message is added to the lint results ,你可以看到 bad-whitespace是所有传入的。周围和 keyword argument assignment只是消息的参数。

warnings = []
if not any(good_space) and policies[0] == policies[1]:
warnings.append((policies[0], 'around'))
else:
for ok, policy, position in zip(good_space, policies, ('before', 'after')):
if not ok:
warnings.append((policy, position))
for policy, position in warnings:
construct = _name_construct(token)
count, state = _policy_string(policy)
self.add_message('bad-whitespace', line=token[2][0],
args=(count, state, position, construct,
_underline_token(token)))

使用 formatting string 显示消息的参数:

'C0326': ('%s space %s %s %s\n%s',
'bad-whitespace',
('Used when a wrong number of spaces is used around an operator, '
'bracket or block opener.'),

如果您想自定义 pylint 以执行您想要的操作,所有这些都应该有所帮助,如果是,则返回拉取请求 to them希望会受到好评。

关于pylint - 如何在 Pylint 中禁用 "No space allowed around keyword argument assignment"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33876495/

24 4 0
文章推荐: c# - 无法通过引用转换、装箱转换、拆箱转换、包装转换或空类型转换来转换类型
文章推荐: chocolatey - Chocolatey 如何知道本地安装了哪些软件包?
文章推荐: cloud-foundry - Cloud Foundry 和 Pivotal Web 服务之间的区别
文章推荐: sox 无法拆分文件
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com