Modularer Aufbau

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Vortec
User
Beiträge: 52
Registriert: Dienstag 10. Dezember 2002, 11:54

Modularer Aufbau

Beitragvon Vortec » Samstag 31. Januar 2004, 14:42

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
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Samstag 31. Januar 2004, 15:06

Hi Vortec,

da wirst Du wohl das modul impbrauchen.


Gruß

Dookie
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Re: Modularer Aufbau

Beitragvon Voges » Samstag 31. Januar 2004, 18:45

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
Vortec
User
Beiträge: 52
Registriert: Dienstag 10. Dezember 2002, 11:54

Beitragvon Vortec » Sonntag 1. Februar 2004, 12:36

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

:(
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Sonntag 1. Februar 2004, 13:02

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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder