Python列出从模块导入的所有子模块

时间:2018-02-24 11:18:40

标签: python python-3.x python-import

我的代码以以下内容开头:

from module import *

如何获取从此模块导入的所有submodules的列表。

例如模块有:

module.submodule
module.submodule2
module.anothersubmodule

我希望得到from module import *

[submodule, submodule2, anothersubmodule]

(不是名称为submodules的字符串,而是自己列出所有submodules的列表)

UPD:我明白我问过XY问题。 所以这就是我想要实现的目标: 我有一个名为modules的文件夹,它有一堆遵循相同模式的脚本。它们都具有main()之类的功能。在我的主脚本中,我想要将它们全部导入并迭代:

for i in modules:
    i.main(*some_args)

1 个答案:

答案 0 :(得分:4)

使用pkgutil模块。例如:

import pkgutil
import module

modualList = []
for importer, modname, ispkg in pkgutil.iter_modules(module.__path__):
    modualList.append(modname)