Ich habe eine sehr große Datei wie folgt formatiert:Lesen in einer Datei, einem Klumpen zu einem Zeitpunkt
(mydelimiter)
line
line
(mydelimiter)
line
line
(mydelimiter)
Da die Datei so groß ist, ich kann nicht alles in den Speicher auf einmal lesen kann. Also würde ich jeden Block zwischen "(mydelimiter)" auf einmal lesen, einige Operationen darauf durchführen und dann den nächsten Block einlesen. Diese
ist der Code Ich habe bisher:
with open(infile,'r') as f:
chunk = []
for line in f:
chunk.append(line)
Nun, ich bin nicht sicher, wie Python zu sagen „halten Zeilen angehängt, bis Sie eine andere Linie treffen mit‚(mydelimiter)‘drin“, Speichern Sie die Zeile dort, wo sie gestoppt wurde, und starten Sie sie in der nächsten Iteration der for-Schleife.
Hinweis: Es ist auch nicht möglich, eine bestimmte Anzahl von Zeilen gleichzeitig einzulesen, da jeder Block eine variable Länge hat.
Bitte Link zu Fragen, von denen Sie glauben, dass ich dupliziert habe. Ich habe Stackoverflow gründlich durchsucht, bevor ich diese Frage gepostet habe und keine Antwort gefunden habe. – Andrade
Der Link befindet sich oben auf der Seite unter dem Titel Ihrer Frage. – TigerhawkT3