Modul-/Paketübergreifende Variablen?

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.
Antworten
hurz
User
Beiträge: 12
Registriert: Mittwoch 11. März 2009, 23:47

Freitag 1. Mai 2009, 19:14

Hallo zusammen!

Ich habe ein etwas umfangreicheres Programm geschrieben (Python 2.6) und der Übersichtlichkeit wegen jetzt auf Pakete aufgeteilt. Jetzt habe ich aber Objekte, die ich während der Laufzeit des Programms in mehreren Paketen ansprechen und verändern will.

Gibt es einen wirklich globalen Namensraum, in dem ich die Objekte ablegen kann, sodass alle Paketmodule darauf zugreifen können?

Vielleicht hilfts auch, wenn ich die Idee dahinter beschreibe, vielleicht geh ich an die ganze Sache falsch ran:
Ich habe eine (XML-)Datenbank, aus der ich zum Programmstart meine Daten auslese. Während der Laufzeit will ich die ganzen Daten in verschiedenen Paketen und Modulen verwenden (zum Beispiel in meinem Paket GUI zur Bildschirmausgabe, ...), um die (veränderten) Daten am Ende des Programms wieder zu speichern.

Ich würde jetzt eine globale Liste meiner Daten haben wollen, auf die ich von überall aus zugreifen kann...

Viel Recherche hat mir bisher null Ertrag gebracht...
BlackJack

Freitag 1. Mai 2009, 19:19

@hurz: Globale Daten sind in der Regel keine so gute Idee. Warum reichst Du sie nicht als Argumente herum?
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Freitag 1. Mai 2009, 22:33

Eine globale Variable V in dem Modul A kannst du in Modul B durch ein "import A" und "A.V" erreichen und ändern. Willst du nur den Wert lesen, kannst du auch "from A import V" sagen und dann "V" benutzen.

Stefan
Antworten