Найти - Пользователи
Полная версия: UnicodeDecodeError при разбиении строки на список
Начало » Python для новичков » UnicodeDecodeError при разбиении строки на список
1 2
vvivan
А вот если выводить несколько элементов, то не хочет….
	f=open('2', 'r+')
for line in f.readlines():
s=line.decode('utf-8','ignore')
d = s.split('|||')
if len(d)==29:
n-=1
if d[0].find(d[25])>-1 or d[25]=='-':
a=d[0]
else:
a=d[0],'(',d[25],')'
if d[1].find(d[27])>-1 or d[27]=='-':
b=d[1]
else:
b=d[1],'(',d[27],')'
print str(a).encode('utf-8','ignore')
Выдает ошибку…
(u'\u0425\u041a \u0421\u043f\u0430\u0440\u0442\u0430\u043a', '(', u'\u041c\u043e\u0441\u043a\u0432\u0430', ')')
Traceback (most recent call last):
File "/home/vladimir/Projects/Python/files2.py", line 36, in <module>
if __name__ == '__main__': main()
File "/home/vladimir/Projects/Python/files2.py", line 35, in main
print str(a).encode('utf-8','ignore')
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-6: ordinal not in range(128)
Вот кусок вывода и ошибка…
В третьем питоне все ок, без плячсок с кодировками, а в двойке не хочет…
alexzander77
vvivan
print str(a).encode('utf-8','ignore')
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 0-6: ordinal not in range(128)
str по использует кодек по умолчанию. Обычно это аскии .
попробуй совсем без СТР. я так думаю - проверить себя немогу .
alexzander77
vvivan
print str(a).encode('utf-8','ignore')
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 0-6: ordinal not in range(128)
str по использует кодек по умолчанию. Обычно это аскии .
попробуй совсем без СТР. я так думаю - проверить себя немогу .
vvivan
без СТР он выдает ошибку… ‘tuple’ object has no attribute ‘encode’
Voland
Попробуй так:
 import string
f=open('2', 'r+')
for line in f:
d=string.split(unicode(line,'utf-8'),'|||')
print d
vvivan
так печатается строка вида u'\u041c\u0438'
Но! Если выводить не весь список, а только отдельные его элементы, то все работает (раньше нормально выводилось по 1 одному элементу, а по несколько не хотело). Большое спасибо всем за помощь!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB