# Beispiel: Datei lesen
with open("01-daten/beispiel.txt", "r") as datei:
= datei.read()
inhalt print(inhalt)
Dies ist ein Test.
Programme arbeiten oft nicht nur mit Benutzereingaben, sondern auch mit Textdateien – zum Beispiel um Daten zu speichern oder zu laden.
Python bietet einfache Funktionen, um:
Am Ende dieses Kapitels können Sie:
open()
öffnen,with
-Blöcken sicher und einfach arbeiten.# Beispiel: Datei lesen
with open("01-daten/beispiel.txt", "r") as datei:
= datei.read()
inhalt print(inhalt)
Dies ist ein Test.
"r"
steht für read (lesen).with
sorgt dafür, dass die Datei nach dem Lesen automatisch geschlossen wird.read()
liest den gesamten Inhalt der Datei als String.with open("01-daten/beispiel.txt", "r") as datei:
for zeile in datei:
print("Zeile:", zeile.strip())
Zeile: Dies ist ein Test.
.strip()
entfernt Leerzeichen und Zeilenumbrüche am Anfang und Ende.
Angenommen, es gibt eine Datei gruesse.txt
mit folgendem Inhalt:
Hallo Anna
Guten Morgen Ben
Willkommen Carla
Schreiben Sie ein Programm, das jede Zeile einzeln einliest und mit print(...)
wiedergibt.
readlines()
Statt über eine Datei zu iterieren, können Sie alle Zeilen auf einmal als Liste einlesen:
with open("01-daten/beispiel.txt", "r") as f:
= f.readlines()
zeilen print(zeilen)
['Dies ist ein Test.']
Oftmals bestehen die eingelesenen Zeilen aus Werten, die durch ein spezifisches Trennzeichen z.B. “,”. Um diese Zeilen dann in die einzelnen Werte zu trennen, benutzen wir die .split()
-Funktion.
= "319,12,14,190,342"
zeile print(zeile.split(","))
['319', '12', '14', '190', '342']
Jede Zeile endet mit \n
, deshalb kann eine Nachbearbeitung mit .strip()
sinnvoll sein:
for zeile in zeilen:
print(zeile.strip())
Dies ist ein Test.
with open("ausgabe.txt", "w") as datei:
"Das ist eine neue Zeile.\n")
datei.write("Und noch eine.") datei.write(
"w"
steht für write (schreiben).= ["Apfel", "Banane", "Kirsche"]
daten
with open("obst.txt", "w") as f:
for eintrag in daten:
+ "\n") f.write(eintrag
Jede Zeile endet mit \n
für einen Zeilenumbruch.
Gegeben ist eine Liste von Städten:
= ["Berlin", "Hamburg", "München"] staedte
staedte.txt
schreibt.close()
Wenn Sie keinen with
-Block verwenden, müssen Sie die Datei selbst schließen – sonst bleibt sie geöffnet:
= open("01-daten/beispiel.txt", "w")
datei "Dies ist ein Test.")
datei.write( datei.close()
close()
ist wichtig, damit Änderungen gespeichert werden und die Datei nicht gesperrt bleibt.
Empfehlung: Nutzen Sie immer with open(...)
, da Python die Datei dann automatisch schließt – auch bei Fehlern.