Seite 1 von 1
Objekt unbekannt
Verfasst: Dienstag 19. April 2005, 11:58
von antimicro
Hi,
ich hab ein Problem mit Python zudem ich keine Hilfe finde, weil ich nicht mal weiß wie sich das nennt.
Und zwar hab ich einen String mit dem Inhalt „Kiste“ und ein Modul mit einer Klasse namens „Kiste“. Gibt es eine Standardfunktion um an die Kiste zu kommen (als Objekt)?
Dank im Voraus
Verfasst: Dienstag 19. April 2005, 12:28
von jens
Du hast ein Modul mit einer Klasse namens „Kiste“ und das modul heist Beispiel, dann mußt du es nur so importieren:
Verfasst: Dienstag 19. April 2005, 14:22
von antimicro
Ok, und wenn ich den Klassennamen nur als String habe?
Verfasst: Dienstag 19. April 2005, 14:27
von jens
Mit dem bösen eval() geht's natürlich, ist aber unschön... Dafür müße es eigentlich irgendwas ähnliches geben wie __import__()
Um eval() etwas einzuschränken kannst du ja mit dir() nachsehen ob der String auch wirklich ein Objekt ist...
Verfasst: Dienstag 19. April 2005, 14:32
von XT@ngel
Hallo,
Das geht mit
MfG
Andreas
Verfasst: Dienstag 19. April 2005, 14:33
von Leonidas
jens hat geschrieben:Mit dem bösen eval() geht's natürlich, ist aber unschön... Dafür müße es eigentlich irgendwas ähnliches geben wie __import__()
Gibt es doch: Beispiel.__dict__['Kiste']
jens hat geschrieben:Um eval() etwas einzuschränken kannst du ja mit dir() nachsehen ob der String auch wirklich ein Objekt ist...
Öhm, das schafft nur trügerische Sicherheit. Es gibt immer Wege.
Verfasst: Dienstag 19. April 2005, 18:22
von antimicro
Danke für die schnellen Antworten,
mit
hab ich es leider nicht hinbekommen, weil sich die Funktion globals() nicht auf das Modul beziehen lässt
,
aber Leonidas Post brachte die Lösung
Verfasst: Dienstag 19. April 2005, 21:41
von BlackJack
Etwas schöner, weil man nicht direkt auf "Magie" (spezielle Variablen mit zwei Unterstrichen vorne und hinten) zurückgreifen muss ist: