【问题标题】:How to list imports within a Python module?如何在 Python 模块中列出导入?
【发布时间】:2015-09-18 20:41:26
【问题描述】:

我想要做的是获取代表特定模块中导入的模块对象列表,例如通过检查/反思。我可以获得导入的全局列表,但这并不能告诉我哪个模块正在使用哪些其他模块。

为了清楚起见,我说的是 Python in 中的模块,而不是 PIP 安装的包。我正在寻找完全在 Python 2.7 中的代码来获取模块引用(比如sys.modules['foo'])并返回该模块导入的list 作为名称、路径或另一个模块对象。 (我现在真正想要的只是路径。)

import sys
for module_name in sys.modules:
   print "Modules imported by %s are: ..." % (module_name,)

您将如何完成上述 sn-p 以实际列出导入?

【问题讨论】:

  • 查看pipreqs
  • @Brobin:我一定是不清楚,我的意思是 Python 模块不是 PIP 包。
  • 明白了。也许modulefinder 就是您要找的。​​span>

标签: python python-2.7


【解决方案1】:

您可以使用标准库中的modulefinder 包。

from modulefinder import ModuleFinder

finder = ModuleFinder()
finder.run_script('my_script.py')

for name, mod in finder.modules.iteritems():
    print(name)

【讨论】:

    猜你喜欢
    • 2020-01-10
    • 2011-06-18
    • 2016-07-08
    • 1970-01-01
    • 2020-06-08
    • 2015-06-18
    • 2014-01-13
    • 2023-03-19
    相关资源
    最近更新 更多