[Python-de] Dynamisch Module Nachladen wenn die Namen erst zur Laufzeit bekannt sind?
Bastian Venthur
venthur at debian.org
Do Nov 15 13:57:17 UTC 2007
Hi Liste,
Was ist der eleganteste Weg um dynamisch Module aus einem Paket
nachzuladen wenn die Modulnamen erst zur Laufzeit feststehen?
Als uneleganteste Lösung könnte man bei Programmstart alle Module eines
Paketes laden (wobei zur Zeit der Programmierung die Namen noch nicht
feststehen), also sowas wie
import paket.* oder
from paket import *
was ja leider nicht geht.
Besser wäre wenn bei Nutzereingabe der string genommen wird und sowas wie
from paket import eingabe
das könnte man mit exec sicher noch irgendwie machen, aber kennt jemand
ne elegantere Lösung?
Hintergrund ist eine Nutzanwendung in dem in einem Paket nur Module sind
die eine Klasse enthalten die alle von der selben Klasse abgeleitet
sind. Je nach Nutzereingabe soll die jeweilige Klasse geladen werden.
Sowas wie ein Plugin-System eben. Schön wäre es auch wenn man bei neuer
Eingabe das alte Modul wieder entladen könnte...
Schöne Grüße,
Bastian
--
Bastian Venthur http://venthur.de
Debian Developer venthur at debian org