Шаг 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().