在目录中查找未使用的python模块

在目录中查找未使用的python模块,python,Python,我正在从事一个相当大的Python项目,在主repo中有大量的模块。问题是,随着时间的推移,我们已经停止使用这些模块,而没有删除或移动.py文件。因此,结果是目录中的文件比实际使用的文件多得多,我想在将项目移植到新平台之前删除它们,以避免移植我们不需要的代码 是否有一个工具可以让我提供初始模块(启动应用程序)和目录,并告诉我哪些文件导入了,哪些文件没有导入?我见过许多类似的工具,它们会查看导入并告诉我是否使用了导入,但没有一个工具会检查文件以查看它们是否是从导入开始的。您可以在运行时通过读取sy

我正在从事一个相当大的Python项目,在主repo中有大量的模块。问题是,随着时间的推移,我们已经停止使用这些模块,而没有删除或移动.py文件。因此,结果是目录中的文件比实际使用的文件多得多,我想在将项目移植到新平台之前删除它们,以避免移植我们不需要的代码


是否有一个工具可以让我提供初始模块(启动应用程序)和目录,并告诉我哪些文件导入了,哪些文件没有导入?我见过许多类似的工具,它们会查看导入并告诉我是否使用了导入,但没有一个工具会检查文件以查看它们是否是从导入开始的。

您可以在运行时通过读取
sys.modules
来检索加载的模块。这是一个包含模块名称作为键和
module
对象作为值的字典。从模块对象可以获得加载模块的路径


但请注意:在您的项目中,可以在运行时加载模块。在这种情况下,您可以尝试查找
\u导入(…)
函数和
importlib.import\u模块(…)

手工操作非常简单。删除所有
.pyc
文件,运行脚本,删除所有没有
.pyc
文件的模块啊,我没想到。谢谢