Moin, ich hab die Erfahrung gemacht, dass es besser ist, etwas länger über die verwendeten Datenstrukturen nachzudenken anstatt sich den Kopf über den Code zu zerbrechen. Allerdings habe ich jetzt ein Problem, zu dem ich keine Lösung finde, die mir 100% gefällt. Zum Problem: ich muss in mehreren Kontexten Konfigurationen anderer Programme parsen und/oder wegschreiben. Die sieht typischerweise so aus: define someobject { attribute_x yes attribute_y 2220 attribute_z something with spaces } Es kommen auch verschachtelte Objekte vor, also so etwas: define nesteobject { name foo style bar subobject barney { name rubble friend fred } } Wie stellt man so etwas geschickter Weise als Python-Objekt(e) dar. Wenn barney kein eigenes Objekt ist, ist das kein Problem, die Redundanz ist an dieser Stelle gering. Allerdings wäre mir einfacher Zugriff auf die Attribute wichtig. "Einfach" vor allem im Sinne von wenig Tipperei und leichter Lesbarkeit. Dabei kann es vorkommen, dass nicht alle Attribute belegt sind - dann "None" zu liefern statt eine Exception zu werfen ist vorzuziehen; ideal wäre aber, das konfigurierbar zu machen. Ich weiss, dass man die Attribute einfach in den Namespace eine Klasse kippen könnte, aber da besteht natürlich die Gefahr, dass das Attribut "foo" die Methode foo() übermalt - sehr unschön. Wegschreiben der Objekte ist ja relativ einfach zu lösen, wobei man dort natürlich aufpassen muss, dass nur die Attribute ausgegeben werden, die relevant sind (die Methoden zB nicht). Vorschläge? Gruss, Tobias -- fs_dprintk (FS_DEBUG_INIT, "Ha! Initialized OK!\n"); linux-2.6.6/drivers/atm/firestream.c