Страницы

Поиск по вопросам

вторник, 31 декабря 2019 г.

Получаю список с украинскими символами, перезаписываю его в файл и получаю подобие \u0422\u0443\u0445\u043b

#python #python_3x #json #кодировка


Проблема с кодировкой

Есть списток данных на украинском, из которого я рандомно выбираю два значения

Потом создаю файл, открываю его и записываю те данных, которые у меня рандомно получились

Но в получившемся файле у меня не значения на украинском, а символы, например: "\u0422\u0443\u0445\u043b\u044f"
Сам код:

from model.list_ukr_lang import list_22
import random
import os.path
import json



testdata = [
Group(name1=random.choice(list_22), name2=random.choice(list_22)) ]

file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../data/groups.json")

with open(file, "w") as f:
    f.write(json.dumps(testdata, default=lambda x: x.__dict__, indent=2))


Подскажите, пожалуйста, как получить данные на украинском языке?
    


Ответы

Ответ 1



Попроуйте так: with open(file, "w", encoding='utf-8') as f: json.dump(testdata, f, indent=2, ensure_ascii=False)

Комментариев нет:

Отправить комментарий