[Python-de] Dynamisch Module Nachladen wenn die Namen erst zur Laufzeit bekannt sind?

Hartmut Goebel h.goebel at goebel-consult.de
Do Nov 15 16:30:53 UTC 2007


Andrew Smart schrieb:

> Ich suche alle Dateien mit ".py" in einem Verzeichnis und versuche das Modul
> zu laden (try/except). Klappt das dann wird das Modul einer Liste von
> Modulen hinzugefügt auf die man später generisch verweisen kann.

Das klappt aber nicht mit Packages oder mit Modulen, bei denen der
Quelltext nicht vorhanden ist. ;-(

> Idee war das in einem Modul eine beliebig benannte Klasse als "Factory"
> gekennzeichnet und in einer gesonderten Liste gehalten wird.
...
> Ich war so von der Docstring-Idee fasziniert das ich vergessen habe das
> ich's mir mit einem "isinstance" Test und einer gemeinsamen Basisklasse (die
> eh notwendig ist) den Aufwand hätte sparen können...

:-) Das ist auch noch einfacher und deutlicher, weil die Information
"das ist eine Factory" dann auch klar erkennbar ist.

> Um die Frage zu benantworten: was besseres als auf ein Verzeichnis per
> Muster zuzugreifen ist mir auch nicht eingefallen :-)

Schade.

-- 
Schönen Gruß - Regards
Hartmut Goebel

Goebel Consult
Spezialist für IT-Sicherheit in komplexen Umgebungen
http://www.goebel-consult.de

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 481 bytes
Beschreibung: OpenPGP digital signature
URL         : http://python.net/pipermail/python-de/attachments/20071115/33a60c5f/attachment.pgp