在python中加载动态模块

时间:2011-12-28 05:16:34

标签: python

  

可能重复:
  Dynamic module import in Python

我有一个模块列表,如下所示:

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

模块的每个.py都驻留在我添加到包含路径的子目录中。我正在寻找的是一种加载模块并构建所加载模块的引用列表的方法。

2 个答案:

答案 0 :(得分:2)

这应该回答你的问题:

references = map(__import__, modules)

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

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

它能回答你的问题吗?

答案 1 :(得分:1)

import importlib

imports = {}

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

留意ImportError