Подтвердить что ты не робот

Как импортировать * с помощью __import__

Какой лучший подход для выполнения следующего использования __import__, чтобы я мог динамически указывать модуль?

from module import *
4b9b3361

Ответ 1

Это то же самое, что и обычный вызов из-import, вы просто передаете ему список, содержащий '*' для fromlist:

moduleName = "foo"
__import__(moduleName, globals(), locals(), ['*'])

Ответ 2

Единственный способ, которым я нашел:

module = __import__(module, globals(), locals(), ['*'])
for k in dir(module):
    locals()[k] = getattr(module, k)

Ответ 3

__import__() никогда не добавляет ничего в локальную область. Вам нужно будет пройти через возвращенный модуль, получив доступ к его атрибутам по желанию.