Вы сериализуете объект в JSON и хотите, чтобы кириллица в результате была читаемой, а не в виде \uXXXX. Какой вызов лучше?
A
json.dumps(obj)B
json.loads(obj)C
json.dumps(obj, ensure_ascii=True)D
json.dumps(obj, ensure_ascii=False)Правильный ответ. Параметр
ensure_ascii=False сохраняет не-ASCII символы как есть.Разбор
По умолчанию json.dumps(obj) часто экранирует не-ASCII символы (кириллицу) в виде последовательностей вроде \uXXXX. Если вы хотите получить читаемый JSON, используйте json.dumps(obj, ensure_ascii=False). При записи в файл дополнительно важно открыть его с encoding="utf-8", чтобы текст был сохранён корректно.
Проверь себя · 1/3разбор после ответа
В аналитическом скрипте вы делаете
f = open("out.csv", "w") и иногда забываете вызвать f.close(). Как лучше всего избежать таких ошибок и гарантировать закрытие файла?Ещё вопросы по теме «Работа с файлами: JSON и CSV»
- Вы сохраняете результат анализа в файл отчёта. Что произойдёт, если выполнить `open("report.csv", "w")`, когда `report.csv` уже существует?
- Что гарантирует конструкция `with open("data.csv", "r") as f:` при чтении файла?
- Есть строка `text = '{"user_id": 7, "active": true}'`. Что вернёт `json.loads(text)`?
- Вы читаете CSV с заголовком через `csv.DictReader(f)`. Что представляет собой `row` внутри цикла `for row in csv.DictReader(f):`?
- Вы хотите дописывать строки в файл лога `errors.log`, не удаляя то, что уже записано. Как открыть файл?
- Все вопросы по «Работа с файлами: JSON и CSV» →