Как импортировать * с __, импортируют __

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

from module import *
17
задан stderr 4 May 2011 в 12:18
поделиться

3 ответа

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

moduleName = "foo"
__import__(moduleName, globals(), locals(), ['*'])
5
ответ дан 30 November 2019 в 13:12
поделиться

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

4
ответ дан 30 November 2019 в 13:12
поделиться

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

module = __import__(module, globals(), locals(), ['*'])
for k in dir(module):
    locals()[k] = getattr(module, k)
16
ответ дан 30 November 2019 в 13:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: