ich erwische mich immer wieder dabei, wie ich in meinem Python Code
schlechten (nicht-python) Stil verwende, zum Beispiel, wenn es um
das blockweise Lesen von Dateien geht.
Hier eines, meiner vielen Negativbeispiele:
Code: Alles auswählen
f = open('hallo.txt','r')
blocksize = 4096
chunk = f.read(blocksize)
while len(chunk) > 0:
do_something(chunk)
chunk = f.read(blocksize)
f.close()
Python 3.x hat ja das IO komplett ungekrempelt.
Wie baut man das im obigen Code richtig ein?
Was mich stört:
1. blocksize will ich nicht selber wählen, sondern ausm System ziehen
2. chunk ist oben ein Objekt, das immer wieder erzeugt und zerstört wird.
(lieber _ein_ StringIO(2.7.x)/io.BytesIO(3.x) Objekt nehmen? Keine Ahnung...)
3. natürlich der while loop mit der hässlichen condition und der
Tatsache, dass ich chuck "initialisieren" muss, um in die while Schleife zu kommen.
Das kommt mir zu old-school C-Style vor. Das ist kein "schönes" Python. :-/
Bin um jeden konstruktiven Beitrag froh.
Vielen Dank im Voraus.
PS: sagt bloß nicht, ihr würdet es alle auch so schreiben, des kann's doch net sein...
