将模块列为字符串并导入它们

fla*_*urn 3 python module python-import python-2.7

我有一堆我需要导入的模块.由于我不允许解释模块名称的原因必须作为字符串存储在列表中.换句话说,我需要做以下事情:

modules_to_import = ['module1', 'module2', 'module3']
import modules_to_import
Run Code Online (Sandbox Code Playgroud)

有人知道我能不能做到这一点python

Fra*_*uzo 7

用途importlib.import_module:

imported_modules = {m: importlib.import_module(m) for m in modules_to_import}
Run Code Online (Sandbox Code Playgroud)

如果你想作为全局变量访问模块,你将不得不做一些hacky的东西,比如分配给globals():

for module in modules_to_import:
    globals()[module] = importlib.import_module(module)
Run Code Online (Sandbox Code Playgroud)