In Python muss ich eine bestimmte Klasse instanziieren und ihren Namen in einer Zeichenfolge kennen, aber diese Klasse "lebt" in einem dynamisch importierten Modul. Ein Beispiel folgt:
Loader-Class-Skript:
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
Skript für ein dynamisch geladenes Modul:
class myName:
# etc...
Ich benutze diese Anordnung, um jedes dynamisch geladene Modul so zu gestalten, dass es von der Loader-Klasse nach bestimmten vordefinierten Verhaltensweisen in den dyn-geladenen Modulen verwendet wird ...
module = __import__(module, fromlist=[name])hat nur für mich gearbeitet.