Файл закодирован в UTF-8, но по умолчанию используется язык cp1251
. Будьте явными и всегда открывайте файл с его известной кодировкой:
#!python3
with open('test.txt', encoding='utf8') as f:
print(f.read())
Пользователи Python 2 должны использовать модуль io
. Встроенный open
Python 2 не поддерживает параметр encoding
. io.open
является реализацией Python 3 и доступен в Python 2 и Python 3 для переносимости.
Этот код совместим с Python 2 и 3:
from __future__ import print_function # for Python 3 print syntax in Python 2.
import io
with io.open('test.txt', encoding='utf8') as f:
print(f.read())
Ссылка: открыто