В python мне нужно создать экземпляр определенного класса, зная его имя в строке, но этот класс «живет» в динамически импортированном модуле. Вот пример:
скрипт класса загрузчика:
import sys
class loader:
def __init__(self, module_name, class_name): # both args are strings
try:
__import__(module_name)
modul = sys.modules[module_name]
instance = modul.class_name() # obviously this doesn't works, here is my main problem!
except ImportError:
# manage import error
скрипт некоторых динамически загружаемых модулей:
class myName:
# etc...
Я использую это расположение, чтобы любой динамически загружаемый модуль использовался классом загрузчика, следуя определенным предопределенным поведениям в dyn -loaded-modules ...
module = __import__(module, fromlist=[name])работал только для меня.