python中的动态模块加载

Dynamic module loading in python

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Dynamic module import in Python

我有一个模块列表,比如:

1
modules = ['ModuleA', 'ModuleB', 'ModuleC']

模块的每个.py都位于我添加到include路径的子目录中。我要寻找的是一种加载模块并构建对所述加载模块的引用列表的方法。


这应该回答您的问题:

1
references = map(__import__, modules)

或者,如果您喜欢将模块名称作为键的字典:

1
references = dict(zip(modules, map(__import__, modules)))

它能回答你的问题吗?


1
2
3
4
5
6
import importlib

imports = {}

for i in modules:
   imports[i] = importlib.import_module(i)

当心ImportErrors。