So lesen Sie eine Datei in Python (Text und JSON)
Erfahren Sie, wie Sie Dateien in Python lesen. Beherrschen Sie die Open-Anweisung, Readline, Readlines und den sicheren Umgang mit Dateiausnahmen.
Übersicht
Der Umgang mit Dateien ist eine wesentliche Fähigkeit für jeden Python-Entwickler. Durch das Lesen von Daten aus Dateien können Sie Textdokumente, Konfigurationen, Protokolle, Datenbanken und strukturierte Datensätze verarbeiten. Python macht Dateioperationen durch seine integrierte Funktion „open()“ bemerkenswert einfach.
Bei der Arbeit mit Dateien ist die Verwendung der „with“-Anweisung die wichtigste Best Practice, die einen Kontextmanager erstellt. Das Muster „with open(...)“ garantiert, dass die Datei sicher und ordnungsgemäß geschlossen wird, sobald die Ausführung den Block verlässt, selbst wenn darin eine Ausnahme auftritt. Wenn Sie vergessen, Dateien zu schließen, kann dies zu Speicherverlusten, Dateibeschädigungen und der Sperrung von Ressourcen anderer Systemprozesse führen.
Python bietet mehrere Methoden zum Lesen von Daten, sobald eine Datei geöffnet ist. Die Methode „.read()“ gibt den gesamten Inhalt der Datei als einzelne Zeichenfolge zurück. Die Methode „.readline()“ liest eine einzelne Zeile und eignet sich daher perfekt für die Iteration über riesige Dateien, die nicht in den Speicher passen würden. Die Methode „.readlines()“ liest alle Zeilen und gibt sie als Liste von Strings zurück. Wenn Sie wissen, welche Methode Sie verwenden sollten, verhindern Sie eine Speichererschöpfung und machen Ihre Programme skalierbarer.
Code- und Ausführungsausgabe
Dieses Skript demonstriert das sichere Lesen von Dateiinhalten mithilfe des Kontextmanagers, das zeilenweise Lesen und die Fehlerbehandlung.
# Writing a dummy file first
with open("sample.txt", "w") as f:
f.write("Line 1: Welcome to PyRun!\nLine 2: Python runs in the browser.\nLine 3: Clean and simple.")
# 1. Read entire file contents
with open("sample.txt", "r") as file:
content = file.read()
print("--- Entire File ---")
print(content)
# 2. Read line-by-line (Memory efficient for large files)
print("\n--- Line by Line ---")
with open("sample.txt", "r") as file:
for line in file:
print("Read line:", line.strip())--- Entire File ---
Line 1: Welcome to PyRun!
Line 2: Python runs in the browser.
Line 3: Clean and simple.
--- Line by Line ---
Read line: Line 1: Welcome to PyRun!
Read line: Line 2: Python runs in the browser.
Read line: Line 3: Clean and simple.Schrittweise Umsetzung
- Verwenden Sie die Anweisung with open("filename", "r") as file, um die Datei sicher zum Lesen zu öffnen.
- Rufen Sie file.read() auf, um den gesamten Dateiinhalt in eine Variable zu laden.
- Iterieren Sie mithilfe einer for-Schleife direkt über das Dateiobjekt, um es Zeile für Zeile effizient zu lesen.
- Geben Sie immer die Kodierung an (z. B. „utf-8“), um internationale Zeichenkompatibilität zu gewährleisten.
Häufig gestellte Fragen
Warum sollte ich die with-Anweisung zum Öffnen von Dateien verwenden?
Die with-Anweisung erstellt einen Kontextmanager, der die Datei automatisch schließt, wenn der Block verlassen wird, auch wenn Fehler auftreten.
Wie gehe ich mit einem FileNotFoundError um?
Wickeln Sie Ihre open()-Anweisung in einen Try-Exception-Block und fangen Sie FileNotFoundError: try: mit open(...) ... außer FileNotFoundError: print("Datei nicht gefunden!") ab.
Verwandte Themen
Erfahren Sie, wie Sie in Python Text in Dateien schreiben. Meistern Sie den Unterschied zwischen den Modi „Schreiben“ („w“) und Anhängen („a“) mit sicheren Kontextmanagern.
So behandeln Sie Ausnahmen in PythonErfahren Sie, wie Sie Ausnahmen in Python mithilfe der Blöcke „try“, „exclusive“, „else“ und „finally“ behandeln. Schreiben Sie fehlerfreien und absturzsicheren Python-Code.
Empfohlene Python-Ressourcen
Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.
Python-Variablen und Datentypen erklärt
Verstehen Sie Python-Variablen und Kerndatentypen (Strings, Ganzzahlen, Gleitkommazahlen, Boolesche Werte). Eine vollständige Einsteigeranleitung zur Speicherzuweisung in Python.
Spickzettel für Python-Wörterbuchmethoden
Lernen Sie Python-Wörterbuchmethoden. Vollständiges Referenzhandbuch für das Einfügen, Abrufen, Aktualisieren und Überprüfen von Schlüssel-Wert-Paaren.
Python vs. JavaScript: Welche Programmiersprache ist die beste?
Ein umfassender Vergleich zwischen Python und JavaScript. Entdecken Sie Syntaxunterschiede, Leistung, Anwendungsfälle (Backend vs. Frontend) und Codierungsbeispiele.