Добрый день!
Python 3.3
Возникает следующая проблема:
# -*- coding: utf-8 -*-
import yaml
data = {'a' : ‘niedostępna’, ‘b’ : ‘недоступна’}
with open('файл', “w”) as file:
yaml.dump(data, file, default_flow_style=False, indent=4)
load_file = yaml.load(open('файл'))
print(load_file)
Результат:
{'a': ‘niedostępna’, ‘b’: ‘недоступна’}
То есть, видим, что используется польский и русский язык.
Работает нормально, но с одним небольшим “но” - в записанном файле видим:
a: “niedost\u0119pna”
b: “\u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430”
Хотелось бы в файле получить нормальную запись, потому что, как видите, совершенно нечитаемо.
Если делать:
yaml.dump(data, file, default_flow_style=False, indent=4, allow_unicode=True)
То получаем ошибку:
UnicodeEncodeError: ‘charmap’ codec can't encode character ‘\u0119’ in position 7: character maps to <undefined>
Если оставить один русский, то работает нормально, но надо чтобы работало и то и то.
Подскажите, пожалуйста, как можно это победить?