我在一个复杂的项目中工作,其中包含许多子目录/软件包。
是否可以打印给定项目目录中使用的所有第二级/动态模块?
例如,如果我使用以下导入:from core.dependency.checkpoints_dependency.checkpoints_manager import CheckpointsManager
或import scipy
,则希望打印core.dependency.checkpoints_dependency.checkpoints_manager
和scipy
。
答案 0 :(得分:1)
尝试使用os.walk解析目录,然后检查系统模块中的目录:
import sys
import os
all_modules = []
for dirpath, dirnames, filenames in os.walk(YOUR_PROJECT_DIRECTORY):
module_names = set(sys.modules)
modules_in_file = [sys.modules[name] for name in module_names]
all_modules.extend(modules_in_file)
print(set(all_modules))