Objekt in andere Module übernehmen
Verfasst: Samstag 24. Januar 2015, 10:28
Python 2.7 - Bis dato habe ich in meinem Projekt die Grundwerte einfach direkt aus einem Modul importiert, also:
Nun wollte ich das etwas flexibler gestalten und lese die Werte mit dem ConfigParser aus einer Datei. Allerdings stehe ich auf dem Schlauch wenn es darum geht, in anderen Modulen auf das entstandene Objekt/die Werte in diesem Objekt zuzugreifen.
Wie kann ich also in DoSomething auf die Konfigurationsparamter zugreifen? Die Werte bei jedem Aufruf als Parameter weiterzugeben sehe ich als nicht praktikabel. Bei meinen Recherchen habe ich Vorschläge gesehen, dafür __builtins__ zu verwenden, was mir wegen der vielen Unterstriche im Modulnamen aber irgendwie widerstrebt.
Oder gehe ich die Sache prinzipiell falsch an? Kann mir hier jemand einen Denkanstoss verpassen?
Vielen Dank im Voraus.
Code: Alles auswählen
config.pyw
MAX_WHATEVER = 10Code: Alles auswählen
xyz.pyw
from config import MAX_WHATEVERCode: Alles auswählen
main.pyw
from xyz import DoSomething
from config import read_config_data
class Main(object)
def __init__(self):
self.config = read_config_data() # read_config_data erstellt mittels ConfigParser ein entsprechendes Objekt und gibt dieses zurück
def __go(self):
DoSomething()Code: Alles auswählen
xyz.pyw
# from main import Main funktioniert ja wohl nicht
class DoSomething(object)
def __init__(self):
# hier würde ich die Werte aus Main.config brauchen
def __go(self):
passOder gehe ich die Sache prinzipiell falsch an? Kann mir hier jemand einen Denkanstoss verpassen?
Vielen Dank im Voraus.