Форум сайта python.su
НЕАКТУАЛЬНО!
Суть вот в чем. По ходу выполнения происходит считывание большого количества строк с .txt
В файле (.txt) текст в UTF-8
В Python'е кодировка по умолчанию cp1251
Как только дело доходит до строк со специфичными символами - все ломается. Как по умолчанию использовать UTF-8 в Python, либо еще что-то в этом роде.
Собс-на сам лог:
File “D:\Python\lib\encodings\cp1251.py”, line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)
UnicodeDecodeError: ‘charmap’ codec can't decode byte 0x98 in position 256: character maps to <undefined>
Пример такого .txt ниже.
Код простейший.
f=open('111.txt','r')
for line in f:
z=line
z=z*2
print(z)
Отредактировано Resperator (Ноя. 4, 2016 12:01:38)
Прикреплённый файлы: 111.txt (2,6 KБ)
Офлайн
Офлайн
Офлайн
python3
open(..., encoding='utf8')
Офлайн
JOHN_16В этом то и суть. Сие команда не помогает.
python3
Офлайн
with open('111.txt', "rt", encoding="utf-8") as f: z = f.read() for i in z: print(i)
⚑ ⚒ ⚓ ⚔ ⚕ ⚖
Офлайн
ZerGТаки да. Пропишите пожалуйста еще тот случай, где считывание происходит не по символу, а по строке.
with open('111.txt', “rt”, encoding=“utf-8”) as f:
z = f.read()
for i in z:
print(i)
Офлайн
ZerGПереписал сам. Вроде правильно. Позже отпишу.
Офлайн
ZerGНашел новую проблему. При записи Питон создает .txt в кодировке ANSI. Как создать с помощью него txt именно в UTF-8 для дальнейшей записи.
Офлайн
Ибо при записи определенных символов происходит краш. Скажем такого �
Офлайн