W Pythonie muszę utworzyć instancję określonej klasy, znając jej nazwę w ciągu, ale ta klasa „żyje” w dynamicznie importowanym module. Oto przykład:
skrypt klasy ładującej:
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
jakiś dynamicznie ładowany skrypt skryptu:
class myName:
# etc...
Korzystam z tego układu, aby każdy moduł ładowany dynamicznie był używany przez klasę modułu ładującego zgodnie z pewnymi predefiniowanymi zachowaniami w modułach ładowanych dynamicznie ...
module = __import__(module, fromlist=[name])działało tylko dla mnie.