Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 29, 2011 14:06:53

AleksSR
От:
Зарегистрирован: 2010-06-02
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

Список фраз, нужно создать список фраз с заменой слов во фразе на сино

py.user.next
в 12 сообщении содержимое файлов
Это я понял, файлы указаны, ошибка выдается с указанными файлами.



Офлайн

#2 Ноя. 29, 2011 22:01:00

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10009
Репутация: +  857  -
Профиль   Отправить e-mail  

Список фраз, нужно создать список фраз с заменой слов во фразе на сино

def load_rules(ifname):
rules_lst = []
with open(ifname) as f:
for line in f:
print line
continue
вставь две строки и вывод сюда



Офлайн

#3 Ноя. 30, 2011 08:09:16

AleksSR
От:
Зарегистрирован: 2010-06-02
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

Список фраз, нужно создать список фраз с заменой слов во фразе на сино

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>



Офлайн

#4 Ноя. 30, 2011 10:16:46

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10009
Репутация: +  857  -
Профиль   Отправить e-mail  

Список фраз, нужно создать список фраз с заменой слов во фразе на сино

AleksSR
Выводится список и после него вот такой ответ
какой список ?



Офлайн

#5 Ноя. 30, 2011 11:49:49

AleksSR
От:
Зарегистрирован: 2010-06-02
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

Список фраз, нужно создать список фраз с заменой слов во фразе на сино

py.user.next
AleksSR
Выводится список и после него вот такой ответ
какой список ?
Список слов из крокозябр(слова исходные в cp1251 кодировке).



Офлайн

#6 Ноя. 30, 2011 22:24:50

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10009
Репутация: +  857  -
Профиль   Отправить e-mail  

Список фраз, нужно создать список фраз с заменой слов во фразе на сино

не надо его описывать словами
скопируй его сюда в точности
если неточно показывает, сделай скриншот



Офлайн

#7 Дек. 1, 2011 10:28:47

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10009
Репутация: +  857  -
Профиль   Отправить e-mail  

Список фраз, нужно создать список фраз с заменой слов во фразе на сино

ну, какая-то лажа, не относящаяся к 12 сообщению
открой 12 сообщение, сделай два файла: файл с правилами rules.txt, файл с фразой file.txt
и запиши в файлы именно то, что там написано

и сохрани файлы в utf-8 (используй notepad++)



Отредактировано (Дек. 1, 2011 10:30:48)

Офлайн

#8 Дек. 2, 2011 09:09:29

AleksSR
От:
Зарегистрирован: 2010-06-02
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

Список фраз, нужно создать список фраз с заменой слов во фразе на сино

Сделал, вот вывод:


я&#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++)



Офлайн

#9 Дек. 2, 2011 12:21:36

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10009
Репутация: +  857  -
Профиль   Отправить e-mail  

Список фраз, нужно создать список фраз с заменой слов во фразе на сино

я&#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')
(на лине проверил)



Отредактировано (Дек. 2, 2011 12:30:15)

Офлайн

#10 Дек. 5, 2011 09:22:17

AleksSR
От:
Зарегистрирован: 2010-06-02
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

Список фраз, нужно создать список фраз с заменой слов во фразе на сино

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 кодировке для реализации данной задачи?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version