Em python, eu tenho que instanciar certa classe, sabendo seu nome em uma string, mas essa classe 'vive' em um módulo importado dinamicamente. Um exemplo a seguir:
script da classe loader:
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
script de módulo carregado dinamicamente:
class myName:
# etc...
Eu uso esse arranjo para fazer com que qualquer módulo carregado dinamicamente seja usado pela classe loader, seguindo certos comportamentos predefinidos nos módulos carregados por dyn ...
module = __import__(module, fromlist=[name])
só funcionou para mim.