У 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-load-модулях ...
module = __import__(module, fromlist=[name])працював тільки на мене.