Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 8, 2010 08:16:45

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

Кодировка ftplib

pyuser
ось: Debian

Теперь в большинстве случаев работает, но бывает выскакивает:

  File "/scripts/ftp3.py", line 63, in decodePath
path = path.decode('cp1251')
File "/usr/lib/python2.5/encodings/cp1251.py", line 15, in decode
return codecs.charmap_decode(input,errors,decoding_table)
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 56: character maps to <undefined>
Может нужно обернуть это всё в try except ?



Отредактировано (Дек. 8, 2010 11:08:39)

Офлайн

#2 Дек. 9, 2010 04:53:40

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Кодировка ftplib

или попробовать chardet для определения кодировки натравить



Офлайн

#3 Дек. 9, 2010 12:22:35

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

Кодировка ftplib

    def mydecode(mystr):
mystr_enc = chardet.detect(mystr)['encoding']
if mystr_enc != 'utf-8':
try:
mystr = mystr.decode(mystr_enc).encode("utf8")
except Exception:
return

return mystr
C chardet это как-то так ?



Отредактировано (Дек. 9, 2010 13:40:11)

Офлайн

#4 Дек. 9, 2010 14:01:43

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Кодировка ftplib

andreiru
C chardet это как-то так ?
да, и раз у Вас нет ограничения на используемые библиотеки, попробуйте ftputil (http://pypi.python.org/pypi/ftputil/2.5) - Вам понравится :) (здесь русскоязычная документация http://ftputil.sschwarzer.net/trac/wiki/RussianDocumentation, правда версия отстает :()



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version