What's the best approach to execute the following using __import__
so that I may dynamically specify the module?
from module import *
What's the best approach to execute the following using __import__
so that I may dynamically specify the module?
from module import *
It's the same as a normal from-import call, you just pass it a list containing '*'
for the fromlist
:
moduleName = "foo"
__import__(moduleName, globals(), locals(), ['*'])
The only way I found:
module = __import__(module, globals(), locals(), ['*'])
for k in dir(module):
locals()[k] = getattr(module, k)
__import__()
never adds anything to the local scope. You will have to go through the returned module, accessing its attributes as desired.