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

list modules as strings and import them

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

modules_to_import = ['module1', 'module2', 'module3']
import modules_to_import

有谁知道我是否可以在 python 中做到这一点?

使用importlib.import_module:

imported_modules = {m: importlib.import_module(m) for m in modules_to_import}

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

for module in modules_to_import:
    globals()[module] = importlib.import_module(module)