Код: Выделить всё
Traceback (most recent call last):
File "c:\app.py", line 7, in
for line in f:
File "", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd1 in position 2308: invalid continuation byte
Это пример кода:
Код: Выделить всё
with open("file.txt", "wb") as f:
f.write(b"Hello, World!\r\n")
f.write(b"\xd1\r\n")
with open("file.txt", "r", encoding="utf-8") as f:
for i, line in enumerate(f):
print(i, line)
Код: Выделить всё
Traceback (most recent call last):
File "c:\app.py", line 6, in
for i, line in enumerate(f):
File "", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd1 in position 15: invalid continuation byte
Код: Выделить всё
with open("file.txt", "wb") as f:
f.write(b"Hello, World!\r\n" * 700)
f.write(b"\xd1\r\n")
with open("file.txt", "r", encoding="utf-8") as f:
for i, line in enumerate(f):
print(i, line)
Код: Выделить всё
544 Hello, World!
545 Hello, World!
Traceback (most recent call last):
File "c:\app.py", line 6, in
for i, line in enumerate(f):
File "", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd1 in position 2308: invalid continuation byte
Также в качестве бонуса эта ошибка появляется при смене версии с Python 2.6 на Python 3.6. Почему в предыдущей версии не было ошибок?
Подробнее здесь: https://stackoverflow.com/questions/792 ... background
Мобильная версия