Найти - Пользователи
Полная версия: Список фраз, нужно создать список фраз с заменой слов во фразе на сино
Начало » Центр помощи » Список фраз, нужно создать список фраз с заменой слов во фразе на сино
1 2 3 4 5
AleksSR
py.user.next
в 12 сообщении содержимое файлов
Это я понял, файлы указаны, ошибка выдается с указанными файлами.
py.user.next
def load_rules(ifname):
rules_lst = []
with open(ifname) as f:
for line in f:
print line
continue
вставь две строки и вывод сюда
AleksSR
py.user.next
def load_rules(ifname):
rules_lst = []
with open(ifname) as f:
for line in f:
print line
continue
вставь две строки и вывод сюда
Вставил две строки.

Выводится список и после него вот такой ответ:
Traceback (most recent call last):
File “C:\Python26\Scripts\Words classification\equiv.py”, line 44, in <module>

out_lst = repl_group(text, rules_lst)
IndexError: list index out of range

C:\Python26\Scripts\Words classification>
py.user.next
AleksSR
Выводится список и после него вот такой ответ
какой список ?
AleksSR
py.user.next
AleksSR
Выводится список и после него вот такой ответ
какой список ?
Список слов из крокозябр(слова исходные в cp1251 кодировке).
py.user.next
не надо его описывать словами
скопируй его сюда в точности
если неточно показывает, сделай скриншот
py.user.next
ну, какая-то лажа, не относящаяся к 12 сообщению
открой 12 сообщение, сделай два файла: файл с правилами rules.txt, файл с фразой file.txt
и запиши в файлы именно то, что там написано

и сохрани файлы в utf-8 (используй notepad++)
AleksSR
Сделал, вот вывод:


я&#9559;&#9488;(2007|2008|2009|09|2010|2011|2012);GOD;2010|2011|2012

(&#9576;&#9559;&#9576;&#9569;&#9572;В&#9576;&#9563;|&#9576;&#9563;&#9572;Б&#9576;&#9569;&#9576;&#9564;&#9572;М|&#9576;&#9558;&#9576;&#9557;&#9576;&#9565;&#9576;&#9617;|&#9576;&#9619;&#9576;&#9569;&#9572;Б&#9576;&#9564;&#9576;&#9617;);SEZON;&#9576;&#9563;&#9572;Б&#9576;&#9569;&#9576;&#9564;&#9572;М|&#9576;&#9558;&#9576;&#9557;&#9576;&#9565;&#9576;&#9617;

(&#9576;&#9557;&#9576;&#9564;&#9572;В&#9576;&#9569;&#9572;А&#9576;&#9564;&#9576;&#9569;&#9572;В &#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;|&#9576;&#9557;&#9576;&#9564;&#9572;В&#9576;&#9569;&#9572;А&#9576;&#9564;&#9576;&#9569;&#9572;В-&#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;|&#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;)
;MAGAZIN;&#9576;&#9557;&#9576;&#9564;&#9572;В&#9576;&#9569;&#9572;А&#9576;&#9564;&#9576;&#9569;&#9572;В &#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;|&#9576;&#9557;&#9576;&#9564;&#9572;В&#9576;&#9569;&#9572;А&#9576;&#9564;&#9576;&#9569;&#9572;В-&#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;|&#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;
&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;
Traceback (most recent call last):
File “C:\Python26\Scripts\Words classification\equiv.py”, line 44, in <module>

out_lst = repl_group(text, rules_lst)
IndexError: list index out of range

C:\Python26\Scripts\Words classification>
py.user.next
ну, какая-то лажа, не относящаяся к 12 сообщению
открой 12 сообщение, сделай два файла: файл с правилами rules.txt, файл с фразой file.txt
и запиши в файлы именно то, что там написано

и сохрани файлы в utf-8 (используй notepad++)
py.user.next
я&#9559;&#9488; в первой строке - это \xfe\xff
http://ru.wikipedia.org/wiki/UTF-8
там пишут, что программы в windows могут сохранять bom, хоть там и utf-8
скачай notepad++, он понимает кодировки
потому что то, что ты сохранил, содержит лишние символы
кракозябры - это текст в utf-8, раскодированный в cp866 (кодировка консоли)

>>> s = '(&#9576;&#9557;&#9576;&#9564;&#9572;В&#9576;&#9569;&#9572;А&#9576;&#9564;&#9576;&#9569;&#9572;В &#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;|&#9576;&#9557;&#9576;&#9564;&#9572;В&#9576;&#9569;&#9572;А&#9576;&#9564;&#9576;&#9569;&#9572;В-&#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;|&#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;)'
>>> s.encode('cp866').decode('utf-8')
'(интернет магазин|интернет-магазин|магазин)'
>>>
это в третьем питоне

>>> s = u'(&#9576;&#9557;&#9576;&#9564;&#9572;В&#9576;&#9569;&#9572;А&#9576;&#9564;&#9576;&#9569;&#9572;В &#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;|&#9576;&#9557;&#9576;&#9564;&#9572;В&#9576;&#9569;&#9572;А&#9576;&#9564;&#9576;&#9569;&#9572;В-&#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;|&#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;)'
>>> s.encode('cp866').decode('utf-8')
u'(\u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043c\u0430\u0433\u0430\u0437\u0438\u043d|\u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043c\u0430\u0433\u0430\u0437\u0438\u043d|\u043c\u0430\u0433\u0430\u0437\u0438\u043d)'
>>> print s.encode('cp866').decode('utf-8')
(интернет магазин|интернет-магазин|магазин)
>>>
это во втором питоне

чтобы сразу выводить по-русски, нужно, вроде бы, сначала раскодировать в cp866, тогда при выводе он будет кодировать обратно
вместо print line сделай print line.decode('cp866')
(на лине проверил)
AleksSR
py.user.next
я&#9559;&#9488; в первой строке - это \xfe\xff
http://ru.wikipedia.org/wiki/UTF-8
там пишут, что программы в windows могут сохранять bom, хоть там и utf-8
скачай notepad++, он понимает кодировки
потому что то, что ты сохранил, содержит лишние символы
кракозябры - это текст в utf-8, раскодированный в cp866 (кодировка консоли)
Я давно использую notepad++.

py.user.next
вместо print line сделай print line.decode('cp866')
(на лине проверил)
Сделал, все равно выводит крокозябры и какую то ошибку:

я&#9559;&#9488;(2007|2008|2009|09|2010|2011|2012);GOD;2010|2011|2012

(&#9576;&#9559;&#9576;&#9569;&#9572;В&#9576;&#9563;|&#9576;&#9563;&#9572;Б&#9576;&#9569;&#9576;&#9564;&#9572;М|&#9576;&#9558;&#9576;&#9557;&#9576;&#9565;&#9576;&#9617;|&#9576;&#9619;&#9576;&#9569;&#9572;Б&#9576;&#9564;&#9576;&#9617;);SEZON;&#9576;&#9563;&#9572;Б&#9576;&#9569;&#9576;&#9564;&#9572;М|&#9576;&#9558;&#9576;&#9557;&#9576;&#9565;&#9576;&#9617;

(&#9576;&#9557;&#9576;&#9564;&#9572;В&#9576;&#9569;&#9572;А&#9576;&#9564;&#9576;&#9569;&#9572;В &#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;|&#9576;&#9557;&#9576;&#9564;&#9572;В&#9576;&#9569;&#9572;А&#9576;&#9564;&#9576;&#9569;&#9572;В-&#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;|&#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;)
;MAGAZIN;&#9576;&#9557;&#9576;&#9564;&#9572;В&#9576;&#9569;&#9572;А&#9576;&#9564;&#9576;&#9569;&#9572;В &#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;|&#9576;&#9557;&#9576;&#9564;&#9572;В&#9576;&#9569;&#9572;А&#9576;&#9564;&#9576;&#9569;&#9572;В-&#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;|&#9576;&#9565;&#9576;&#9617;&#9576;&#9474;&#9576;
&#9617;&#9576;&#9558;&#9576;&#9557;&#9576;&#9564;
Traceback (most recent call last):
File “C:\Python26\Scripts\Words classification\equiv.py”, line 44, in <module>

out_lst = repl_group(text, rules_lst)
IndexError: list index out of range

C:\Python26\Scripts\Words classification>


Можно ли работать с текстовыми файлами в cp-1251 кодировке для реализации данной задачи?
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