我要做的是获取一个代表特定模块中导入的模块对象列表,例如:通过检查/反思。我可以获得全球导入列表,但这并不能告诉我哪个模块正在使用哪些模块。
要说清楚,我在讨论 Python中的模块,而不是PIP安装的软件包。我完全在Python 2.7中寻找代码来获取模块引用(比如说sys.modules['foo']
)并将该模块的导入list
作为名称,路径或其他模块返回宾语。 (我现在真正想要的只是路径。)
import sys
for module_name in sys.modules:
print "Modules imported by %s are: ..." % (module_name,)
您如何完成上述代码段以实际列出导入?
答案 0 :(得分:1)
您可以使用标准库中的modulefinder
包。
from modulefinder import ModuleFinder
finder = ModuleFinder()
finder.run_script('my_script.py')
for name, mod in finder.modules.iteritems():
print(name)