gpt4 book ai didi

python - 如何禁用或避免针对猴子修补对象的 pylint 警告 : "Instance of ' xxx' has no 'yyy' member"

转载 作者:行者123 更新时间:2023-11-30 23:12:05 26 4
gpt4 key购买 nike

我的系统中有一个类,它代表远程系统的 RPC 接口(interface)。它为每个 RPC 方法提供了一个方法。这些方法是在运行时根据 API 规范生成的。所以我的代码看起来有点像:

class api:
pass

for name, method in api_spec:
setattr(api, name, method)

然后我接到这样的电话:

x = api()
x.some_remote_call()

Pylint (v0.26.0) 在调用站点报告此情况:

[E1101, ...] Instance of 'api' has no 'some_remote_call' member

问题:有没有办法可以禁用或避免此警告?

我想避免对每个调用进行注释;这在这个代码库中是不实用的。我的后备方案是完全放弃警告 E1101,但除了这种情况之外,这是一个非常有用的警告。

理想情况下,我想以某种方式修改或注释 api 类,以告诉 pylint 不要生成警告。

最佳答案

这是一个可能的答案。添加 getattr 方法会关闭 pylint:

class api:
def __getattr__(self, name):
raise AttributeError(name)

关于python - 如何禁用或避免针对猴子修补对象的 pylint 警告 : "Instance of ' xxx' has no 'yyy' member",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29951307/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com