it-praxisportal/13_persistenz_json_und_csv/README.md

1.9 KiB

Kapitel 13: Datei-Persistenz (JSON & CSV) 💾📁

In diesem Kapitel lernst du, wie du deine Python-Objekte dauerhaft auf der Festplatte speicherst, sodass deine Daten auch nach dem Beenden des Skripts oder Ausschalten des Computers erhalten bleiben.


🎯 Was du lernst

  1. Flüchtiger RAM vs. Dauerhafte Festplatte: Warum Daten im Arbeitsspeicher beim Programmende verschwinden und wie Dateien für dauerhafte Speicherung (Persistenz) sorgen.
  2. Sauberer Dateizugriff mit with open(...):
    with open("savegame.json", "w", encoding="utf-8") as f:
        # Datei wird automatisch sicher geschlossen, selbst bei Fehlern!
    
  3. JSON (JavaScript Object Notation):
    • Das Standard-Format für verschachtelte Daten und Konfigurationen.
    • json.dump(daten, f, indent=4, ensure_ascii=False) zum Schreiben.
    • daten = json.load(f) zum Einlesen.
  4. Objekt-Serialisierung in OOP:
    • to_dict(self): Wandelt ein Objekt in ein serialisierbares Dictionary um.
    • from_dict(cls, data): Erstellt aus einem Dictionary wieder eine echte Klasseninstanz.
  5. CSV (Comma-Separated Values):
    • Ideal für flache Tabellendaten (z.B. für Excel, Google Sheets oder Numbers).
    • csv.DictWriter und csv.DictReader.
  6. Praxisbeispiel: Ein Savegame- und Highscore-Manager für ein RPG / Spiel.

📁 Die Dateien in diesem Ordner

  • index.html: Die interaktive Lernseite mit Tagebuch-Analogie, JSON- vs. CSV-Vergleichstabelle, Codebeispielen und Checkliste.
  • aufgabe.py: Dein Arbeitsblatt zum Implementieren der Klassen Spieler und Spielstand.
  • test_aufgabe.py: Automatische Unittest-Suite (python3 test_aufgabe.py).
  • musterloesung.py: Vollständig ausprogrammierte Beispiellösung.

🚀 Schnellstart

# 1. Bearbeite aufgabe.py
# 2. Teste deine Lösung:
python3 test_aufgabe.py