Wenn du deine Python-Programme noch spannender machen willst, dann lerne jetzt, wie du Dateien in Python lesen und schreiben kannst! Dateien helfen dir dabei, wichtige Daten zu speichern und später wiederzuverwenden.
Was sind Textdateien und warum brauchst du sie
Dateien als Datenspeicher verstehen
Stell dir vor, du schreibst ein tolles Spiel und möchtest die Highscores speichern. Ohne Dateien verschwinden alle Punkte, sobald du dein Programm beendest. Textdateien sind wie digitale Notizbücher, in die dein Python-Programm Informationen hineinschreiben kann.
Eine Textdatei erkennst du meist an der Endung .txt. Sie enthält nur Text, keine Bilder oder Formatierungen. Das macht sie perfekt für Anfänger, weil sie einfach zu verstehen und zu bearbeiten sind.
Wann du Dateien in deinen Projekten nutzt
Du kannst Dateien für viele coole Sachen verwenden! Speichere Spielstände, erstelle ein digitales Tagebuch oder sammle Antworten von deinen Freunden. Auch Einstellungen deiner Programme lassen sich in Dateien ablegen, damit sie beim nächsten Start noch da sind.
Deine erste Datei öffnen und schließen
Die open() Funktion kennenlernen
Bevor du mit einer Datei arbeiten kannst, musst du sie öffnen. Python stellt dir dafür die open() Funktion zur Verfügung. Sie braucht mindestens den Namen der Datei und einen Modus.
# Eine Datei zum Lesen öffnen
datei = open("meine_datei.txt", "r")
# Eine Datei zum Schreiben öffnen
datei = open("neue_datei.txt", "w")Der Buchstabe "r" steht für "read" (lesen) und "w" für "write" (schreiben). Es gibt noch weitere Modi, aber diese beiden reichen für den Anfang völlig aus.
Dateien richtig schließen mit close()
Jede geöffnete Datei solltest du wieder schließen, wenn du fertig bist. Das ist wie beim Schließen eines Buchs nach dem Lesen. Python macht das mit der close() Funktion.
datei = open("beispiel.txt", "r")
# Hier arbeitest du mit der Datei
datei.close() # Datei schließen nicht vergessen!Der sichere Weg mit with-Statement
Python bietet dir einen noch besseren Weg: das with-Statement. Es öffnet die Datei und schließt sie automatisch wieder, auch wenn ein Fehler auftritt. Das ist wie ein Zaubertrick!
with open("sichere_datei.txt", "r") as datei:
# Hier arbeitest du mit der Datei
inhalt = datei.read()
# Datei wird automatisch geschlossenPython-Dateien lesen und schreiben – die Grundlagen
Text aus Dateien lesen mit read()
Mit der read() Funktion liest du den kompletten Inhalt einer Datei auf einmal. Das ist perfekt für kleinere Dateien. Der gesamte Text wird in eine Variable gespeichert, mit der du dann weiterarbeiten kannst.
with open("geschichte.txt", "r") as datei:
kompletter_text = datei.read()
print(kompletter_text)Falls die Datei nicht existiert, bekommst du einen FileNotFoundError. Darüber sprechen wir später noch genauer.
Zeilenweise lesen mit readline()
Manchmal möchtest du eine Datei Zeile für Zeile durchgehen. Dafür gibt es readline() für eine einzelne Zeile oder noch besser: eine for-Schleife für alle Zeilen nacheinander.
with open("liste.txt", "r") as datei:
for zeile in datei:
print("Zeile:", zeile.strip()) # strip() entfernt ZeilumbrücheText in Dateien schreiben mit write()
Zum Schreiben verwendest du die write() Funktion. Wichtig: Der "w" Modus überschreibt den kompletten Dateiinhalt! Für das Anhängen von Text gibt es den "a" Modus (append).
# Neue Datei erstellen oder überschreiben
with open("mein_text.txt", "w") as datei:
datei.write("Hallo Python-Welt!")
datei.write("nEine zweite Zeile")
# Text anhängen
with open("mein_text.txt", "a") as datei:
datei.write("nNoch eine Zeile dazu")Praktische Beispiele zum Mitmachen
Ein Tagebuch-Programm erstellen
Lass uns ein einfaches Tagebuch programmieren! Du kannst jeden Tag einen Eintrag hinzufügen, und alle Einträge werden in einer Datei gespeichert.
import datetime
# Heutiges Datum holen
heute = datetime.date.today()
# Tagebucheintrag vom Benutzer
eintrag = input("Was ist heute passiert? ")
# In Datei speichern
with open("tagebuch.txt", "a") as datei:
datei.write(f"{heute}: {eintrag}n")
print("Eintrag gespeichert!")Highscores für deine Spiele speichern
Für Spiele sind Highscores super wichtig! Hier zeigen wir dir, wie du Textdateien in Python verarbeiten kannst, um Punktzahlen zu speichern und wieder zu laden.
# Neuen Highscore speichern
def speichere_highscore(name, punkte):
with open("highscores.txt", "a") as datei:
datei.write(f"{name}: {punkte}n")
# Alle Highscores anzeigen
def zeige_highscores():
try:
with open("highscores.txt", "r") as datei:
print("=== HIGHSCORES ===")
for zeile in datei:
print(zeile.strip())
except FileNotFoundError:
print("Noch keine Highscores vorhanden.")
# Beispiel verwenden
speichere_highscore("Max", 1250)
zeige_highscores()Daten aus Textdateien verarbeiten
Du kannst auch Daten aus Dateien laden und damit rechnen. Stell dir vor, du hast eine Datei mit Temperaturen und möchtest den Durchschnitt berechnen.
Häufige Fehler vermeiden
FileNotFoundError verstehen und lösen
Der häufigste Fehler beim Dateizugriff ist der FileNotFoundError. Er tritt auf, wenn Python eine Datei nicht finden kann. Du kannst ihn mit try-except abfangen.
try:
with open("nicht_vorhanden.txt", "r") as datei:
inhalt = datei.read()
except FileNotFoundError:
print("Datei wurde nicht gefunden!")
print("Erstelle ich eine neue Datei...")
with open("nicht_vorhanden.txt", "w") as datei:
datei.write("Neue Datei erstellt!")Encoding-Probleme mit deutschen Umlauten
Manchmal funktionieren deutsche Umlaute wie ä, ö, ü nicht richtig. Das liegt am Encoding. Du kannst UTF-8 als Parameter hinzufügen, um das zu lösen.
# Ohne Encoding-Problem
with open("deutsch.txt", "w", encoding="utf-8") as datei:
datei.write("Mädchen und Jungen lernen programmieren!")
datei.write("Schöne Grüße aus Deutschland!")
# Datei wieder lesen
with open("deutsch.txt", "r", encoding="utf-8") as datei:
text = datei.read()
print(text)Profi-Tipps für junge Programmierer
Dateipfade richtig verwenden
Dateien können in verschiedenen Ordnern liegen. Du kannst den kompletten Pfad angeben oder relative Pfade verwenden. Relative Pfade starten vom Ordner deines Python-Programms aus.
Für eine bessere Organisation erstelle Unterordner für deine Dateien. So wie du dein Zimmer aufräumst, solltest auch du deine Programmdateien sortieren. Das macht alles übersichtlicher und professioneller.
Daten speichern Python einfach gemacht
Um Daten in Python einfach zu speichern, verwende immer aussagekräftige Dateinamen. Statt "datei1.txt" schreibst du besser "spielstand_2024.txt" oder "meine_notizen.txt". Das hilft dir später beim Wiederfinden.
Denke auch daran, regelmäßig Backups deiner wichtigen Dateien zu erstellen. Ein versehentliches Überschreiben kann sonst deine ganze Arbeit zunichte machen. In der Python für Kinder Sektion findest du weitere hilfreiche Tipps dazu.
Deine nächsten Schritte
Jetzt kennst du die Grundlagen des Dateizugriffs in Python! Beginne mit einfachen Experimenten: Erstelle eine Textdatei, schreibe etwas hinein und lese es wieder aus. Probiere das Tagebuch-Beispiel aus oder baue dir ein System für deine Lieblingszitate.
Als nächstes kannst du deine bisherigen Python-Projekte erweitern. Füge Speicherfunktionen zu deinem Quiz-Spiel hinzu oder erstelle eine Datei mit den besten Zahlen-Tipps für dein Ratespiel. Mit jedem kleinen Projekt wirst du sicherer im Umgang mit Dateien. Im Python für Kinder Bereich findest du noch mehr Projektideen.
Die Arbeit mit Dateien öffnet dir viele neue Möglichkeiten in der Programmierung. Du bist jetzt bereit, Programme zu schreiben, die Daten dauerhaft speichern können!
Mathe-Fan? Dann baue als nächstes deinen eigenen Python Taschenrechner programmieren!