flashburn flashburn - 25 days ago 14
Python Question

list modules as strings and import them

I have a bunch of modules that I need to import. For reasons I not permitted to explain the module names must be stored as strings in a list. In other words I need to do the following:

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


Does anybody know if I can to that in
python
?

Answer

Use importlib.import_module:

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

If you want to access the modules as global variables, you'll have to do some hacky stuff, such as assigning to globals():

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