python - 如何检测从未使用过的声明变量?
问题描述
在 Python 中,我认为一个常见的潜在错误是在赋值时拼错了变量名,然后当您希望使用正确拼写的变量版本时,您不会得到预期的行为。例如:
my_variable = "Hello"
my_varible = "World"
print (my_variable)
意图是为 分配一个新值my_variable
,但由于有一个拼写错误,当意图是“World”时,程序会打印“Hello”。我已经尝试过“pylint ,
pychecker , and
pyflakes”,但要么我使用的工具不正确,要么它们没有为这种情况提供警告。
所以问题是,是否存在公开可用的工具来检测已分配一次的未使用变量并返回警告?理想的工具会告诉我,我在第 2 行声明了 my_varible 并且以后再也没有使用它。
解决方案
正如 davedwards 在评论中所发布的,我的问题的解决方案是使用 vulture。在 Ubuntu 上,我运行“sudo pip install vulture”,然后针对我的测试代码运行 vulture 并收到以下信息:
秃鹫拼写错误.py
mispelled.py:2:未使用的变量“my_varible”(60% 置信度)
vulture 对我来说是完美的,因为如果脚本没有错误,它就不会产生任何输出。由于它是一个命令行工具,因此我可以在大型代码库中自动使用该工具。
戴夫,如果您返回此问题并发布相同的答案,我将删除此答案并将您的答案标记为首选答案。
推荐阅读
- rust - Rust 是否允许您为您的类型和外部类型定义 Ord 或 PartialOrd?
- flutter - 在 Flutter Web 应用程序中实现橙色货币支付网关时出错
- c - 循环中 fread 后检查 EOF
- chilkat - Chilkat.CkString 缺失
- python - PyQt5 Mac拖拽窗口事件类型与收缩事件类型相同
- pine-script - 如何从 color.new() 中提取颜色
- outlook - 来自加载项的 Outlook 日历背景同步
- javascript - 在 React Native 中需要带有 babel-plugin-inline-import 的 SVG XML 内容
- python - 在 pyqt5 组合框中显示两个值并传递这些值
- python - 如何从 URL 读取图像(urllib.error.HTTPError:HTTP 错误 403:禁止)