Найти - Пользователи
Полная версия: codecs
Начало » Центр помощи » codecs
1 2
verec
Есть текстовые файлы в стандартной виндовой кодировке (windows-1251, как я понимаю), мне необходимо выделить оттуда все слова, проблема в том, что текст может быть как на русском, так и на английском языках. Сейчас код вот такой

f = codecs.open(doc, 'r', "windows-1251")
text = f.read()
text = unicode(text)
words = text.split()
print words
при выводе выдаётся последовательность кодов вида \xx, как узнать, что считалось?

на компьютере Win7 x64 и python2.6
ofigetitelno
:)
так выделить или вывести на экран?
verec
хочу вывести на экран, чтобы можно было проверить правильно ли слова распарсились
ofigetitelno
:)
попробуй выводить по одному слову
verec
там всё равно выдаётся последовательность кодов, а мне хочется увидеть слова, которые выделились
ofigetitelno
:)
попробуйте слова перед выводом на экран перекодировать в кодировку консоли, в виндовс это cp866
verec
а каким образом это можно сделать?
ofigetitelno
:)
к слову, text = unicode(text) делать не нужно, текст уже должен быть в юникоде…
ofigetitelno
:)
у строки есть два метода encode и decode
первый переводит из юникода в указанную кодировку
второй переводит из указанной кодировки в юникод
verec
попробовал сделать вот так

f = codecs.open(doc, 'r', "cp866")
text = f.read()
words = text.split()
print words
но по прежнему русские слова выдаёт как u'\u0401\u044e\u0451\u0404'
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