Python Schoolby trefilov
Шаг 1 из 3+120 XP

JSON и файлы

Сохраняем структуру данных в файл.

JSON и файлы

Что это

JSON — это универсальный текстовый формат для данных: списки, словари, числа, строки. На нём общаются почти все API в интернете. Модуль json сериализует объекты Python в JSON-текст и обратно.

Как это читать

import json
with open("d.json", "w") as f:
    json.dump({"x": 1}, f)         # объект → файл
with open("d.json") as f:
    print(json.load(f))             # файл → объект

{'x': 1}

- json.dump(obj, f) — записать в открытый файл.
- json.load(f) — прочитать из открытого файла.
- Бывают также json.dumps(obj) / json.loads(text) — для работы со строками (s = string).

Пример

import json
data = {"name": "Ann", "scores": [10, 20, 30]}
with open("user.json", "w") as f:
    json.dump(data, f, indent=2)        # красиво, с отступами
with open("user.json") as f:
    loaded = json.load(f)
print(loaded["name"], sum(loaded["scores"]))   # Ann 60

👍 indent=2 делает файл удобным для чтения глазами.
👎 Не клади в JSON объекты, которых там быть не может: set, datetime, свои классы. Их придётся преобразовать — например, list(my_set) или dt.isoformat().