JSON speichern
Beispiel
import json
daten = {
"name": "Luna",
"punkte": 120
}
with open("score.json", "w", encoding="utf-8") as f:
json.dump(daten, f, ensure_ascii=False, indent=2)
print("Gespeichert.")
dumpschreibt in die Dateiindent=2macht die Datei lesbarensure_ascii=Falsehilft bei Umlauten
Liste speichern
import json
scores = [
{"name": "Luna", "punkte": 10},
{"name": "Lily", "punkte": 15}
]
with open("scores.json", "w", encoding="utf-8") as f:
json.dump(scores, f, indent=2)
Rate mal!
Was speichert dump – den Bildschirm oder die Datei?
Auflösung
Die Datei (über den Datei-Handle f).
Probiere es selbst
Experiment 1
Dict speichern.
Experiment 2
Datei im Editor anschauen.
Experiment 3
Zweites Dict überschreiben (w).
Fehlerdetektiv
import json
json.dump({"a": 1}, "score.json")
Lösung
Zweites Argument muss ein Datei-Objekt sein, nicht nur der Name:
with open("score.json", "w", encoding="utf-8") as f:
json.dump({"a": 1}, f)
Übungen
Level 1
Speichere {"level": 1}.
Level 2
Speichere deinen Steckbrief.
Level 3
Liste mit 3 Highscore-Einträgen speichern.
Level-1-Lösung
import json
with open("level.json", "w", encoding="utf-8") as f:
json.dump({"level": 1}, f, indent=2)
Mini-Quiz
Speichern sitzt! Als Nächstes: laden.