it-praxisportal/13_persistenz_json_und_csv
2026-08-29 14:53:43 +02:00
..
aufgabe.py Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
index.html Integriere Gamification-Persistenz & Hooks in alle 27 Kapitel (test_aufgabe.py & index.html) 2026-08-29 14:53:43 +02:00
musterloesung.py Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
README.md Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
test_aufgabe.py Integriere Gamification-Persistenz & Hooks in alle 27 Kapitel (test_aufgabe.py & index.html) 2026-08-29 14:53:43 +02:00

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