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

时间:2014-06-06 16:12:42

标签: python

我正在处理一个相当大的Python项目,主要仓库中有大量模块。问题是,随着时间的推移,我们已经停止使用许多这些模块而不删除或移动.py文件。因此,结果是我们在目录中拥有的文件远远多于我们实际使用的文件,并且我希望在将项目移植到新平台之前将其删除,以避免移植我们不需要的代码。

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

1 个答案:

答案 0 :(得分:1)

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

但要注意:项目模块中的某个地方可以在运行时加载。在这种情况下,您可以尝试查找__import__(...)函数和importlib.import_module(...)

的用法