如何检查多个Python文件中未使用的导入?
我记得在用C++或Java开发的时候,编译器通常会对那些没用到的方法、函数或者导入的库发出警告。在我的Django项目中,有很多Python文件经历了多次修改。有些文件在顶部有几行导入语句,但有些导入的库现在已经不再用了。有没有什么办法可以找到这些没用的导入,而不是一个一个地去看每个文件呢?
我所有的导入都是明确的,我一般不会写from blah import *
这种形式。
12 个回答
16
可以使用像 pylint 这样的工具,它能帮你发现代码中的问题(还有很多其他问题)。
在动态类型的编程语言中,进行这种“运行前”的检查比较困难,但 pylint 在发现这些拼写错误或者重构后留下的代码问题方面做得非常出色。
18
我使用 flake8
来检查代码的风格,然后用 isort
和 autoflake
自动删除那些没用的导入。
检查:想了解更多,可以看看 flake8 和 pyflake 的对比
pip install flake8 --user
flake8 .
重新格式化:想了解更多,可以查看 为什么用 isort 和 autoflake
pip install isort autoflake --user
isort -sl .
autoflake --remove-all-unused-imports -i -r .
isort -m 3 .
最近(从2023年开始),我开始用 ruff 来替代 autoflake/flake8
pip install --upgrade --user ruff
ruff --fix /path/to/file_or_folder