понедельник, 4 июля 2016 г.

Как записать в файл русские символы в Python?

В python 3 на Windows функция locale.getpreferredencoding(False) возвращает 'cp1251'. Именно с этой кодировкой открывается новый файл по умолчанию, и, как следствие, к ней приводятся строки, записываемые в этот файл.

Если просмотреть директории на диске с помощью os.walk(), то эта функция вернет набор директорий и имен файлов. Если эти имена у вас на русском языке и вы захотели записать их в файл, у вас проблема.

Решение: открывать файл с опцией кодирования файла как 'utf-8':
with open(logname, 'w', encoding='utf-8') as logfile:
   ...

  

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

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

X-Plane 11, 12 - любитель, Фото любитель со стажем

Постоянные читатели

Архив блога