首页 > 解决方案 > 如何检测从未使用过的声明变量?

问题描述

在 Python 中,我认为一个常见的潜在错误是在赋值时拼错了变量名,然后当您希望使用正确拼写的变量版本时,您不会得到预期的行为。例如:

my_variable = "Hello"
my_varible = "World"
print (my_variable)

意图是为 分配一个新值my_variable,但由于有一个拼写错误,当意图是“World”时,程序会打印“Hello”。我已经尝试过“pylint ,pychecker , andpyflakes”,但要么我使用的工具不正确,要么它们没有为这种情况提供警告。

所以问题是,是否存在公开可用的工具来检测已分配一次的未使用变量并返回警告?理想的工具会告诉我,我在第 2 行声明了 my_varible 并且以后再也没有使用它。

标签: python

解决方案


正如 davedwards 在评论中所发布的,我的问题的解决方案是使用 vulture。在 Ubuntu 上,我运行“sudo pip install vulture”,然后针对我的测试代码运行 vulture 并收到以下信息:

秃鹫拼写错误.py

mispelled.py:2:未使用的变量“my_varible”(60% 置信度)

vulture 对我来说是完美的,因为如果脚本没有错误,它就不会产生任何输出。由于它是一个命令行工具,因此我可以在大型代码库中自动使用该工具。

戴夫,如果您返回此问题并发布相同的答案,我将删除此答案并将您的答案标记为首选答案。


推荐阅读