TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки
Python Заметки avatar

TGINSIGHT POST

Post #95

@pythonotes

Python Заметки

Прегледи543Број на прегледи
Објавено3 јун.03.06.2020 г., 09:00
Содржина

Содржина на објавата

Порой бывает необходимо работать с JSON файлами ручками, читая или изменяя данные. И очень не удобно, когда юникод в файле записан в виде кодированных символов. >>> import json >>> data = {'title': 'Привет Медвед!'} >>> print(json.dumps(data)) '{"title": "\\u041f\\u0440\\u0438\\u0432\\u0435\\u0442 \\u041c\\u0435\\u0434\\u0432\\u0435\\u0434!"}' Эх, безобразие! Ни прочитать нормально, ни поправить. Чтобы такое поведение изменить, достаточно добавить аргумент ensure_ascii=False >>> json.dumps(data, ensure_ascii=False) '{"title": "Привет Медвед!"}' Теперь символы не кодируются в Unicode. В файл запишется в таком же виде. ____________________ Для тех кто в танке (всё еще на Python 2🚂 ). Строку следует делать как unicode, и для записи в файл использовать модуль codecs. >>> import json, codecs >>> data = {'title': u'Привет Медвед!'} >>> with codecs.open(path, "w", encoding='utf-8') as f: >>> json.dump(data, f, ensure_ascii=False) #libs#tricks