Найти - Пользователи
Полная версия: битва с кодировками
Начало » Python для новичков » битва с кодировками
1
guranvir
есть код:
   debl=stages.rename_deb('/home/asd/БД/Delphi/','/home/asd/debs/')
А вот злополучный кусок функции:
oldp=walklist[0]+filname
oldp=oldp.encode('utf8')
newp=npath+filname
newp=newp.encode('utf8')
deb.append(newp)
shutil.move(oldp.decode('utf-8'),newp.decode('utf-8'))
Вполне понятно что сейчас положение плачевно и выпвиглазно, что доказывает следующий вывод интерпретатора:
Traceback (most recent call last):
File "/home/asd/linux+python/hardware-info/kernel-inf/kernelcheck_1.2.5_all/usr/share/kernelcheck/scripts/Kscript.py", line 67, in <module>
debl=stages.rename_deb('/home/asd/БД/Delphi/','/home/asd/debs/')
File "/home/asd/linux+python/hardware-info/kernel-inf/kernelcheck_1.2.5_all/usr/share/kernelcheck/scripts/Kscript.py", line 60, in rename_deb
shutil.move(oldp.decode('utf-8'),newp.decode('utf-8'))
File "/usr/lib/python2.6/shutil.py", line 260, in move
copy2(src, real_dst)
File "/usr/lib/python2.6/shutil.py", line 95, in copy2
copyfile(src, dst)
File "/usr/lib/python2.6/shutil.py", line 50, in copyfile
with open(src, 'rb') as fsrc:
IOError: [Errno 2] Нет такого файла или каталога: u'/home/asd/\u0411\u0414/Delphi/deb/amd64perl_5.10.0-19lenny2_amd64.deb'
>>>
Вопрос: как правильно решить проблему с с кодировками?
o7412369815963
попробуй убрать decode.
в подобные ф-ии обычно нужно передавать не уникод.
gistator
Как-то маловато, или кода или описания. Зачем после .encode юзать .decode?
guranvir
>Зачем после .encode юзать .decode?
Да это уже был перебор вариантов )))
guranvir
Все ребят всем спасибо, проблем кодировки были только в отладочном сообщении интерпритатора, а фактическая ошибка была в том, что не хватало слеша
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