pylint 检测使用了sqlalchemy模块的代码,出现E1120

发布于 2022-08-31 20:22:01 字数 621 浏览 13 评论 0

我使用的如下代码:

TABLE_TEST = Table('tbl_test', metadata, autoload=True)
def add(ipaddr, user, password):
    TABLE_TEST.insert().values(ipaddr=ipaddr, user=user, pwd=password)

然后过一遍pylint之后竟然提示我:
E1120 No value for argument 'dml' in method call

我仔细的找了一下源码,发现需要这个参数的是属于sqlalchemy.sql.selectable.TableClause这个类的
但是这个类里面的insert之类的函数被修饰了一下,把这个参数补上去了。
所以实际上使用是没问题的。
但是pylint检测之后又是错误,我该怎么屏蔽这种情况下的错误?

我找过相关资料,通过配置文件中的
[TYPECHECK]
ignored-modules
ignored-classes
generated-members
这三个配置项都无效

还有,不想通过行内注释的方式屏蔽。
或者直接屏蔽E1120,也是不科学的。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁月苍老的讽刺 2022-09-07 20:22:01

换成了flake8之后成功识别到了这种包装过的对象。
感谢 @wangdai

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文