扩展pylint来处理模板变量?

2024-05-19 22:46:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写了say模块,使格式化打印更简单、更直接。E、 g

say("{len(items)} retrieved; {n_errors} encountered")

而不是:

^{pr2}$

那部分进展得很好。但是我喜欢运行pylint来寻找陷阱和错误。不幸的是,许多数据值的构造仅仅是为了它们在输出操作中的有用性,而pylint无法“看到”在say调用(或任何其他模板输出机制)中使用的值构成对变量的真正使用。可能会产生一个接一个的W0612(未使用变量)警告。在

可以简单地置之不理,但这似乎是一种倒退。我宁愿扩展pylint来理解实际上使用了say()模板中使用的变量。在

.../pylint/checkers/variables.py似乎是添加此检查的地方,但我不熟悉代码库。关于如何注册格式样式字符串中使用的变量的任何提示或建议,确实是正确使用的?在


Tags: 模块数据模板len错误items机制pylint
1条回答
网友
1楼 · 发布于 2024-05-19 22:46:38

在“variables”检查器中,使用的变量从self._to_consume[-1]列表中删除(self是检查器,[-1]),因为这是每个函数变量列表的堆栈。在

无论如何,Alex是对的,关于这个主题的进一步讨论应该转到代码质量邮件列表。在

相关问题 更多 >