Reputation: 4508
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
?
Upvotes: 3
Views: 72
Reputation: 11476
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)
Upvotes: 7