droptix hat geschrieben:Weil? Meinst du nach `__init__` verschieben oder komplett aus der Klasse raus?
Ich würde es aus der Klasse rausholen.
droptix hat geschrieben:Leonidas hat geschrieben:Ich denke dass man CreateID in der Klasse gar nicht braucht und das diese als Generator besser gelöst werden kann. Schließlich erwartet man ja sequenzille IDs.
Was ist ein Generator?
Das ist das was ich in Zeile 34 bis 40 in meinem Code habe. Ich definiere eine Funktion die unendlich lange läuft und IDs ausgibt und sich 'schlafen' legt. Beim nächsten Aufruf von .next() (Zeile 9) wird die Funktion dann um eine Iteration fortgesetzt, gibt wieder eine ID aus und 'schläft' weiter.
droptix hat geschrieben:Leonidas hat geschrieben:Andererseits könnte das durch die Rekursion problematisch werden, denn Python hat ein Rekursionslimit.
`os.walk()` macht eigentlich genau dasselbe.
Stimmt, hast recht. Ich denke aber, dass das Speichern von 20 os.walk() Zuständen die sich rekursiv Aufgerufen haben, speicherschonender ist als das Speichern von 20 AddFileSystemItem() Zuständen.
Ich kann mich aber auch irren.