列出Python 3中导入模块中的导入模块

辣椒

我想要一个导入模块的名称和文件列表,例如:

#!/usr/bin/python3

import importlib

module = importlib.import_module('someModule')

for mod in module.modules():
    print(mod.name)
    print(mod.file)
_

Python3允许我们使用插入模块exec(f'import {module_name}'),将结果放入globals()[module_name],或者我们可以赋值mod = importlib.import_module(module_name)

要查看其他直接插入了哪些模块,请使用:

def is_module(x):
    return str(type(x)) == "<class 'module'>"


def show_deps(mod):
    for name in dir(mod):
        val = getattr(mod, name)
        if is_module(val):
            print(name, val.__file__)

如果需要,可以递归遍历树以找到可传递的部门。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章