Форум сайта python.su
0
py.user.nextЭто я понял, файлы указаны, ошибка выдается с указанными файлами.
в 12 сообщении содержимое файлов
Офлайн
857
def load_rules(ifname):
rules_lst = []
with open(ifname) as f:
for line in f:
print line
continue
Офлайн
0
py.user.nextВставил две строки.вставь две строки и вывод сюдаdef load_rules(ifname):
rules_lst = []
with open(ifname) as f:
for line in f:
print line
continue
Офлайн
857
AleksSRкакой список ?
Выводится список и после него вот такой ответ
Офлайн
0
py.user.nextСписок слов из крокозябр(слова исходные в cp1251 кодировке).AleksSRкакой список ?
Выводится список и после него вот такой ответ
Офлайн
857
не надо его описывать словами
скопируй его сюда в точности
если неточно показывает, сделай скриншот
Офлайн
857
ну, какая-то лажа, не относящаяся к 12 сообщению
открой 12 сообщение, сделай два файла: файл с правилами rules.txt, файл с фразой file.txt
и запиши в файлы именно то, что там написано
и сохрани файлы в utf-8 (используй notepad++)
Отредактировано (Дек. 1, 2011 10:30:48)
Офлайн
0
Сделал, вот вывод:
я╗┐(2007|2008|2009|09|2010|2011|2012);GOD;2010|2011|2012
(╨╗╨╡╤В╨╛|╨╛╤Б╨╡╨╜╤М|╨╖╨╕╨╝╨░|╨▓╨╡╤Б╨╜╨░);SEZON;╨╛╤Б╨╡╨╜╤М|╨╖╨╕╨╝╨░
(╨╕╨╜╤В╨╡╤А╨╜╨╡╤В ╨╝╨░╨│╨░╨╖╨╕╨╜|╨╕╨╜╤В╨╡╤А╨╜╨╡╤В-╨╝╨░╨│╨░╨╖╨╕╨╜|╨╝╨░╨│╨░╨╖╨╕╨╜)
;MAGAZIN;╨╕╨╜╤В╨╡╤А╨╜╨╡╤В ╨╝╨░╨│╨░╨╖╨╕╨╜|╨╕╨╜╤В╨╡╤А╨╜╨╡╤В-╨╝╨░╨│╨░╨╖╨╕╨╜|╨╝╨░╨│╨
░╨╖╨╕╨╜
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++)
Офлайн
857
я╗┐ в первой строке - это \xfe\xff
http://ru.wikipedia.org/wiki/UTF-8
там пишут, что программы в windows могут сохранять bom, хоть там и utf-8
скачай notepad++, он понимает кодировки
потому что то, что ты сохранил, содержит лишние символы
кракозябры - это текст в utf-8, раскодированный в cp866 (кодировка консоли)
>>> s = '(╨╕╨╜╤В╨╡╤А╨╜╨╡╤В ╨╝╨░╨│╨░╨╖╨╕╨╜|╨╕╨╜╤В╨╡╤А╨╜╨╡╤В-╨╝╨░╨│╨░╨╖╨╕╨╜|╨╝╨░╨│╨░╨╖╨╕╨╜)'
>>> s.encode('cp866').decode('utf-8')
'(интернет магазин|интернет-магазин|магазин)'
>>>
>>> s = u'(╨╕╨╜╤В╨╡╤А╨╜╨╡╤В ╨╝╨░╨│╨░╨╖╨╕╨╜|╨╕╨╜╤В╨╡╤А╨╜╨╡╤В-╨╝╨░╨│╨░╨╖╨╕╨╜|╨╝╨░╨│╨░╨╖╨╕╨╜)'
>>> 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')
(интернет магазин|интернет-магазин|магазин)
>>>
Отредактировано (Дек. 2, 2011 12:30:15)
Офлайн
0
py.user.nextЯ давно использую notepad++.
я╗┐ в первой строке - это \xfe\xff
http://ru.wikipedia.org/wiki/UTF-8
там пишут, что программы в windows могут сохранять bom, хоть там и utf-8
скачай notepad++, он понимает кодировки
потому что то, что ты сохранил, содержит лишние символы
кракозябры - это текст в utf-8, раскодированный в cp866 (кодировка консоли)
py.user.nextСделал, все равно выводит крокозябры и какую то ошибку:
вместо print line сделай print line.decode('cp866')
(на лине проверил)
Офлайн