【问题标题】:list modules as strings and import them将模块列为字符串并导入它们
【发布时间】:2017-03-21 11:13:12
【问题描述】:
我有一堆模块需要导入。由于我不允许解释的原因,模块名称必须作为字符串存储在列表中。换句话说,我需要执行以下操作:
modules_to_import = ['module1', 'module2', 'module3']
import modules_to_import
有人知道我是否可以在python 中这样做吗?
【问题讨论】:
标签:
python
python-2.7
module
python-import
【解决方案1】:
使用importlib.import_module:
imported_modules = {m: importlib.import_module(m) for m in modules_to_import}
如果您想以全局变量的形式访问模块,则必须做一些 hacky 的事情,例如分配给 globals():
for module in modules_to_import:
globals()[module] = importlib.import_module(module)