Pythons readline() meistern: Effizientes zeilenweises Dateilesen
Pythons readline() meistern: Effizientes zeilenweises Dateilesen
Was ist Python readline()?
readline() ist eine eingebaute Dateimethode, die die nächste vollständige Zeile aus einem Dateiobjekt zurückgibt. Der zurückgegebene String endet mit einem Newline-Zeichen (\n). Wenn das Dateiende erreicht ist, gibt er einen leeren String zurück.
Sie können optional ein size-Argument übergeben, um die Anzahl der gelesenen Bytes zu begrenzen. Ein negativer oder weggelassener Wert bewirkt, dass die gesamte Zeile zurückgegeben wird.
Wichtige Eigenschaften
- Liest eine vollständige Zeile pro Aufruf.
- Fügt ein nachfolgendes Newline an, es sei denn, die Zeile ist die letzte ohne eines.
- Gibt einen String im Textmodus zurück; ein Bytes-Objekt im Binärmodus.
- Unterstützt einen optionalen
size-Parameter (Standard ist -1).
Syntax
datei_objekt.readline([size])
Parameter
- size (int, optional): Anzahl der zu lesenden Bytes. Standard ist -1 (ganze Zeile lesen).
Rückgabewert
Ein String (oder Bytes) containing die nächste Zeile, oder ein leerer String, wenn die Datei erschöpft ist.
Beispiel 1: Erste Zeile lesen
Angenommen demo.txt enthält:
Test - ErsteZeile
Test - ZweiteZeile
Test - Dritte Zeile
Test - Vierte Zeile
Test - Fünfte Zeile
Python-Code:
with open("demo.txt", "r") as f:
erste_zeile = f.readline()
print(erste_zeile)
Ausgabe:
Test - ErsteZeile
Beispiel 2: size-Argument verwenden
Nur die ersten 10 Zeichen der ersten Zeile lesen:
with open("demo.txt", "r") as f:
teil = f.readline(10)
print(teil)
Ausgabe:
Test - Ers
Grundlegendes Datei-I/O in Python
Das Öffnen von Dateien wird mit open(pfad, modus) gehandhabt. Gängige Modi:
| Modus | Beschreibung |
|---|---|
| r | Lesen (Standard) |
| w | Schreiben (truncieren) |
| a | Anhängen |
| rb | Binär lesen |
| wb | Binär schreiben |
Datei zeilenweise lesen
Mit einer while-Schleife und readline():
with open("demo.txt", "r") as f:
zeile = f.readline()
while zeile:
print(zeile)
zeile = f.readline()
Mit einer for-Schleife (bevorzugt für Lesbarkeit):
with open("demo.txt", "r") as f:
for zeile in f:
print(zeile)
Alle Zeilen auf einmal lesen
Pythons readlines() gibt eine Liste aller Zeilen zurück:
with open("test.txt", "r") as f:
zeilen = f.readlines()
print(zeilen)
Beispielausgabe:
["Zeile Nr 1\n", "Zeile Nr 2\n", "Zeile Nr 3\n", "Zeile Nr 4\n", "Zeile Nr 5"]
Zusammenfassung
- Verwenden Sie
readline()für kontrolliertes, zeilenweises Lesen. - Übergeben Sie
size, um gelesene Bytes zu begrenzen; Standard liest die gesamte Zeile. - Für einfache Iteration bevorzugen Sie
for zeile in dateiüber eine manuellewhile-Schleife. - Wenn Sie alle Zeilen im Speicher benötigen, ist
readlines()praktisch. - Dateien immer schließen; das
with-Statement handhabt dies automatisch.
Python
- Java String.indexOf() meistern: Substrings finden & praktische Beispiele
- Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
- Python format()-Strings meistern mit klaren Beispielen
- Pythons String.find()-Methode meistern: Syntax, Beispiele & Alternativen
- Python Lambda-Funktionen meistern: Praxisbeispiele & Best Practices
- Python round()-Funktion erklärt mit praktischen Beispielen
- Pythons map()-Funktion meistern: Syntax, Beispiele und Best Practices
- Python timeit(): Ausführungszeit messen mit praktischen Beispielen
- Python Counter in collections: Effizientes Zählen, Aktualisieren und arithmetische Operationen
- type() und isinstance() in Python verstehen: Praktische Beispiele