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