Theoretisch ja, aber ich müsste einen Haufen Code ändern. Das obige Bsp. zeigt ja nur einen kleinen Ausschnitt. Ich kann nicht ohne Weiteres einfach nur ein weiteres Argument an die Funktion übergeben, das müsste ich aber nochmal genau prüfen.BlackJack hat geschrieben:@droptix: Ich verstehe immer noch nicht warum Du nicht den vorhandenen Code anpassen kannst. Du kannst das ja in einer Art und Weise tun, dass er für den bisherigen Zweck weiterhin funktioniert.
Nicht ganz: der Aufrufer (Instanz von `Accounting`) kennt ein gleichnamiges Objekt. Das ist aber eine Liste. In `as_csv` wird ein Dictionary erzeugt, an welches ich heran kommen muss.BlackJack hat geschrieben:Aus dem von Dir gezeigten Quelltext wird das Problem übrigens IMHO in keinster Weise ersichtlich. Du hast da eine `as_csv()`-Funktion, der Du `account` *übergibst* und behauptest die einzige Möglichkeit dort heran zu kommen wäre dieses Stackframe-Voodoo, das den Wert an das Exemplar, an das der Aufrufer gebunden ist, bindet. Der Aufrufer *hat* dieses Objekt doch aber schon, sonst hätte er es nicht als Argument übergeben können!?
Code: Alles auswählen
accounts = ["john", "jane"]
a = Accounting(ips, accounts)
# in `as_csv()`:
accounts[uid] = {"prints": prints, "copies": copies, "csv": csv}
Krass übrigens, dass ich dafür so viel heftige Kritik einsammle... hätte nicht gedacht, dass man da so viel Wirbel drum macht Nichts für Ungut, kann damit umgehen, bin einfach nur überrascht. Ich hätte die Frage auch weniger kompliziert stellen können, aber dann wären mir die Auswirkungen vllt. nicht so einprägsam vermittelt worden. Danke also, ich werde das auch jeden Fall zukünftig berücksichtigen.