Seite 1 von 1

Modularer Aufbau

Verfasst: Samstag 31. Januar 2004, 14:42
von Vortec
Guten Tag,

ich möchte meinem Projekt einen modularen Aufbau verpassen. Das heißt: Der User soll während der Laufzeit (selbstprogrammierte) Module laden / aktualisieren / entladen können. Dass ich dies mit OOP am besten löse, ist mir bewusst. Die Frage ist nur wie. Ich dachte da an einen Ordner "modules", in dem .py-Dateien mit einer bestimmten Klasse gelagert sind.
Ich bin am verzweifeln und bräuchte einen Denkanstoß. Kann mir jemand helfen?

Grüße,
Vortec

Verfasst: Samstag 31. Januar 2004, 15:06
von Dookie
Hi Vortec,

da wirst Du wohl das modul impbrauchen.


Gruß

Dookie

Re: Modularer Aufbau

Verfasst: Samstag 31. Januar 2004, 18:45
von Voges
Hallo!
Vortec hat geschrieben: Ich bin am verzweifeln und bräuchte einen Denkanstoß. Kann mir jemand helfen?
Laden und Aktualisieren müsste doch eigentlich mit import/reload gehen. Entladen? Weiß nicht.
Jan

Verfasst: Sonntag 1. Februar 2004, 12:36
von Vortec
Hallo nochmal,

zwei Fragen zu dem Modul "imp".

Frage 1:

Code: Alles auswählen

fp, pathname, description = imp.find_module("xtemplate")
imp.load_module("x", fp, pathname, description)
fp.close()
[b]bla = x.xtemplate()[/b]
Gibt mir:
NameError: name 'x' is not defined
Wieso? xtemplate.xtemplate() funktioniert auch nicht.

Frage 2:
Wie oben erläutert möchte ich eine Datei aus dem Ordner "modules" importieren.

Code: Alles auswählen

[b]fp, pathname, description = imp.find_module("testx", "modules")[/b]
imp.load_module("x", fp, pathname, description)
fp.close()
Gibt mir:
ImportError: No frozen submodule named modules.testx

:(

Verfasst: Sonntag 1. Februar 2004, 13:02
von Dookie
der 2. Parameter von findmodule ist eine Liste von Pfaden.

Code: Alles auswählen

fp, pathname, description = imp.find_module("testx", ["modules"])
Funktioniert bei mir.

Gruß

Dookie