Что лучший подход должен выполнить следующее использование __import__
так, чтобы я мог динамично указать модуль?
from module import *
Это то же самое, что и обычный вызов from-import, вы просто передаете ему список, содержащий '*'
для из списка
:
moduleName = "foo"
__import__(moduleName, globals(), locals(), ['*'])
__ import __ ()
никогда ничего не добавляет в локальную область видимости. Вам нужно будет пройти через возвращенный модуль, при желании обращаясь к его атрибутам.
Единственный способ, который я нашел:
module = __import__(module, globals(), locals(), ['*'])
for k in dir(module):
locals()[k] = getattr(module, k)