Используйте json.dump(dictionary, file) с открытым текстовым файлом и UTF-8. Для читаемой кириллицы задайте ensure_ascii=False, для отступов — indent.
Как записать словарь в JSON-файл?
Используйте json.dump(dictionary, file) с открытым текстовым файлом и UTF-8. Для читаемой кириллицы задайте ensure_ascii=False, для отступов — indent.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Используйте json.dump(dictionary, file) с открытым текстовым файлом и UTF-8. Для читаемой кириллицы задайте ensure_ascii=False, для отступов — indent.
Пример записи нового файла:
import json
data = {'name': 'Анна', 'active': True}
with open('result.json', 'w', encoding='utf-8') as stream:
json.dump(data, stream, ensure_ascii=False, indent=2, allow_nan=False)
Режим w перезаписывает файл. Не все объекты сериализуются: datetime и пользовательские классы нужно преобразовать явно, а ключи JSON — строки. Для важного файла сначала пишут временный файл и затем атомарно заменяют целевой; это защищает от частично записанного результата.