Python Lernhandbuch

Kapitel 8: Fehlerbehandlung und Dateien · Abschnitt 4 von 5

Dateien lesen und schreiben

python
open(file, mode='r', encoding=None, newline=None)
Parameter Bedeutung
file Pfad als String oder Path
mode 'r' lesen (Standard), 'w' schreiben und vorhandenen Inhalt löschen, 'a' anhängen, 'x' neu anlegen (Fehler, falls vorhanden). Zusatz 'b' für Binärdaten ('rb', 'wb')
encoding Zeichenkodierung. Gib immer 'utf-8' an, sonst hängt das Ergebnis vom System ab
newline Zeilenende-Behandlung. Bei CSV-Dateien newline=''
python
# Alles auf einmal lesen
with open('daten.txt', encoding='utf-8') as f:
    text = f.read()               # ein String

# Zeilenweise lesen (speicherschonend, auch bei riesigen Dateien)
with open('daten.txt', encoding='utf-8') as f:
    for zeile in f:
        print(zeile.rstrip('\n'))   # jede Zeile enthält am Ende noch den Zeilenumbruch

# Schreiben
with open('ausgabe.txt', 'w', encoding='utf-8') as f:
    f.write('Erste Zeile\n')        # write fügt keinen Zeilenumbruch hinzu
    f.writelines(['a\n', 'b\n'])    # mehrere Strings
    print('Noch eine Zeile', file=f)   # print kann auch in eine Datei schreiben
Methode Wirkung
f.read(size=-1) Liest alles oder size Zeichen
f.readline() Liest eine Zeile
f.readlines() Liest alle Zeilen als Liste
f.write(text) Schreibt einen String, liefert die Anzahl Zeichen
f.writelines(liste) Schreibt eine Folge von Strings
f.seek(offset) Springt an eine Position

Tipp: Bei Python-Beispielen kannst du auf ▶ Ausprobieren klicken, den Code verändern und direkt ausführen.

← Zurück