Dateien mit with open()

In dieser Lektion lernst du, wie du Dateien mit with open() sicher öffnest, Text speicherst, Inhalte ergänzt und Dateien wieder ausliest.

Worum geht es in dieser Lektion?

Variablen speichern Werte nur während der Ausführung eines Programms. Sobald das Programm beendet wird, gehen diese Daten verloren. Dateien werden verwendet, um Inhalte dauerhaft zu speichern.

Was macht with open()?

Mit with open() kann eine Datei geöffnet werden. Der Vorteil dabei ist, dass Python die Datei am Ende automatisch wieder schließt. Man muss also nicht mehr selbst close() aufrufen.

Wichtige Modi beim Öffnen von Dateien

Beim Öffnen einer Datei wird auch ein Modus angegeben:

  • Mit "w" wird eine Datei zum Schreiben geöffnet. Dabei wird eine neue Datei erstellt, falls sie noch nicht existiert, und vorhandener Inhalt wird überschrieben.
  • Mit "a" wird Text an eine bestehende Datei angehängt. Der bisherige Inhalt bleibt dabei erhalten.
  • Mit "r" wird eine Datei geöffnet, um ihren Inhalt zu lesen.

Wo wird die Datei gespeichert?

Wenn nur ein Dateiname wie "notiz.txt" angegeben wird, wird die Datei meist im selben Ordner gespeichert wie die Python-Datei oder das aktuelle Projekt.

Typischer Ablauf

Oft werden diese Schritte kombiniert: Zuerst wird eine Datei erstellt oder überschrieben, danach wird weiterer Text ergänzt und am Ende wird der gesamte Inhalt wieder eingelesen.

Warum ist with open() wichtig?

with open() macht das Arbeiten mit Dateien sicherer und übersichtlicher, weil das Schließen der Datei automatisch übernommen wird.

Beispiel 1

Dieses Beispiel zeigt, wie du mit with open() eine Datei im Modus "w" öffnest und einen ersten Text hineinschreibst.

with open("notiz.txt", "w") as datei:
    datei.write("Erste Zeile\n")

Beispiel 2

Hier siehst du, wie du mit dem Modus "a" weiteren Text an eine bestehende Datei anhängst, ohne den bisherigen Inhalt zu löschen.

with open("notiz.txt", "a") as datei:
    datei.write("Zweite Zeile\n")

Beispiel 3

In diesem Beispiel wird die Datei im Modus "r" geöffnet, vollständig eingelesen und anschließend im Terminal ausgegeben.

with open("notiz.txt", "r") as datei:
    inhalt = datei.read()

print(inhalt)

Merksatz

Mit with open() öffnest du Dateien sicher, weil Python sie automatisch wieder schließt. Die Modi "w", "a" und "r" bestimmen, ob du schreibst, ergänzt oder liest.

Aufgabe

Schreibe ein Python-Programm, das mit with open() eine Datei mit dem Namen notiz.txt erstellt und eine erste Zeile hineinschreibt.

Öffne die gleiche Datei danach noch einmal im Modus "a" und ergänze eine zweite Zeile.

Lies anschließend den gesamten Inhalt der Datei mit "r" ein und gib ihn mit print() aus.

Kontrolliere danach, in welchem Ordner die Datei gespeichert wurde.

Nach oben scrollen