Große Textdateien zeilenweise und speichereffizient lesen
Um große Textdateien zu verarbeiten, ohne Ihr Gedächtnis zu überfordern, erkunden wir einen Ansatz, der... liest sie Zeile für Zeile, ohne sie vollständig zu laden Inhalt.
Lösung:
Der Schlüssel besteht darin, mithilfe einer for-Schleife über das Dateiobjekt selbst zu iterieren:
with open("log.txt") as infile: for line in infile: print(line)
Durch die Verwendung von a Kontextmanager (mit open(...)) stellen wir sicher, dass die Datei nach der Verarbeitung ordnungsgemäß geschlossen wird.
Wie es Funktioniert:
Die Funktion open() gibt ein Dateiobjekt zurück, das die Iteration unterstützt. Jede Zeile in der Datei wird als Zeichenfolge dargestellt und die Schleife durchläuft diese Zeilen. Dadurch können Sie jede Zeile einzeln verarbeiten, ohne die gesamte Datei in den Speicher laden zu müssen.
Beispielverwendung:
Angenommen, log.txt ist eine große Textdatei, die Code würde es Zeile für Zeile lesen als folgt:
with open("log.txt") as infile: for line in infile: # Perform operations on each line here (e.g., print, write to another file)
Vorteile:
Das obige ist der detaillierte Inhalt vonWie kann ich große Textdateien Zeile für Zeile effizient verarbeiten, um Speicherprobleme zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!