Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在许多Python文件中检查未使用的导入? 我记得我在C++或java开发的时候,编译器经常抱怨没有使用的方法、函数或导入。在我的Django项目中,我有一堆经过多次迭代的Python文件。有些文件在页面顶部有几行import语句,有些导入不再使用。除了查看每个文件中的每个导入之外,还有什么方法可以找到这些未使用的导入_Python - Fatal编程技术网

如何在许多Python文件中检查未使用的导入? 我记得我在C++或java开发的时候,编译器经常抱怨没有使用的方法、函数或导入。在我的Django项目中,我有一堆经过多次迭代的Python文件。有些文件在页面顶部有几行import语句,有些导入不再使用。除了查看每个文件中的每个导入之外,还有什么方法可以找到这些未使用的导入

如何在许多Python文件中检查未使用的导入? 我记得我在C++或java开发的时候,编译器经常抱怨没有使用的方法、函数或导入。在我的Django项目中,我有一堆经过多次迭代的Python文件。有些文件在页面顶部有几行import语句,有些导入不再使用。除了查看每个文件中的每个导入之外,还有什么方法可以找到这些未使用的导入,python,Python,我所有的导入都是显式的,我通常不会从blah import中编写*使用这样的工具,它会显示这些代码缺陷(以及许多其他缺陷) 在使用动态类型的语言中,执行这些类型的“运行前”检查是很困难的,但是pylint在捕获这些类型错误/重构等遗留问题方面做得非常好……(类似于)将为您提供这些信息 pyflakes python_archive.py Example output: python_archive.py:1: 'python_archive2.SomeClass' imported but u

我所有的导入都是显式的,我通常不会从blah import中编写
*

使用这样的工具,它会显示这些代码缺陷(以及许多其他缺陷)

在使用动态类型的语言中,执行这些类型的“运行前”检查是很困难的,但是pylint在捕获这些类型错误/重构等遗留问题方面做得非常好……

(类似于)将为您提供这些信息

pyflakes python_archive.py

Example output:
python_archive.py:1: 'python_archive2.SomeClass' imported but unused
看一看。它是一个调试工具,能够找到未使用的变量和模块。

如果您将IDE与和一起使用,它会自动检查和突出显示未使用的导入,以及其他内容。它还与pylint集成。

我一直在成功使用,希望自动删除未使用的导入

我最近发现:

  • 用于检查
  • 默认情况下,删除未使用的标准库导入和冗余的
    pass
    语句
  • 具有删除其他未使用导入和未使用变量的选项

您可以使用以下用户设置:

"python.linting.pylintEnabled": true,
"python.linting.pylintArgs": [
    "--enable=W0614"
]
但我认为,您需要自己检查所有文件并点击“保存”。

是的改进版本,带有其他选项。 它在引擎盖下使用pyflakes,我建议使用它而不是直接使用pyflakes。

我同意使用。它类似于linting,但它排除了样式错误

更新

如何运行:
pyflakes
pyflakes

小心


如果您只使用命令
pyflakes
运行它,它需要很长的时间,就像它是永无止境的一样。我的假设是,当您这样称呼它时,它试图检查机器/文件夹中的每个python文件。

我使用
flake 8
检查样式,然后
isort
+
autoflake
自动删除未使用的导入

检查:请参阅

重新格式化:请参阅

是一个命令行实用程序,用于在Python模块中查找未使用的导入。建议从2020年起使用

装置 来自PyPI的pip安装秃鹫 用法
vulture myscript.py
用于项目下的所有python文件

find-名称“*.py”| xargs vulture | grep“未使用的导入”
例子 适用于以下代码

将numpy导入为np
作为pd进口熊猫
df=pd.DataFrame({'A':[1,2],'B':[3,4]})
结果如下

➜ 秃鹫myscript.py
py:1:未使用的导入“np”(90%置信度)
py:4:未使用的变量“df”(60%置信度)

用于ls*.py
中的x;做echo$x;pylint$x | grep“未使用的导入”;完成
您应该注意检查所有文件的确切命令(例如
pylint*| grep“unused import”
)。文档中有没有提到这一点?可能它只是等待标准输入?似乎未维护且不适用于相对导入Autoflake无法用于多行导入
pip install flake8 --user
flake8 .
pip install isort autoflake --user
isort -rc -sl .
autoflake --remove-all-unused-imports -i -r .
isort -rc -m 3 .