如何使用跟踪模块确定执行路径上的所有导入模块?

时间:2016-05-02 13:18:06

标签: python python-import trace

在官方文件中说下面的代码

python -m trace --count -C . somefile.py ...

列出执行期间导入的所有模块。

但是,我无法找到有关程序化API的任何文档,以便在代码中执行相同的操作。 我要找的不是How to list imported Modules?。我关注的是列出所有导入的模块和导入模块的导入模块等等,当且仅当任何特定模块在执行路径上导入时。

1 个答案:

答案 0 :(得分:0)

如果您要查找在环境中的给定时间导入的模块,则可以使用sys.modules字典。还有一个sys.path列表,显示解释器在哪些目录中查找python模块。

如果你需要一个特定模块导入的模块列表,那么你必须解析import语句并自己构建一个列表,递归(更多工作,但可行)。