Форум сайта python.su
0
Помогите пожалуйста разобраться, не могу записать в zip архив файлы с русскими именами, точнее эти файлы отображаются крокозябрами((
Использую питон 3 - Пишу так:
from zipfile import ZipFile z = ZipFile('D:/test.zip', 'a') #создаю архив z.write('d:/русский_текст.txt','русский_текст.txt') #записываю файл с русским названием в архив z.close()
z.write('d:/русский_текст.txt','русский_текст.txt'.encode('cp866'))
Офлайн
88
Что говорит locale.getlocale()? Какая кодировка у исходников?
Офлайн
0
Не дури ты людям галавы все в slackware нормально работает)))
Офлайн
0
Shaman
locale.getlocale()
Офлайн
88
gamoffи в винде всё работает на ура
в slackware нормально работает)))
Офлайн
0
Shaman
и в винде всё работает на ура
Прикреплённый файлы:
asd.jpg (58,6 KБ)
Офлайн
0
Товарищи питонисты ! Неужто никто не знает.(((
Офлайн
0
Shaman
gamoff
в slackware нормально работает)))
и в винде всё работает на ура
Офлайн
88
antropВот эти вот “Т” через символ мне что-то напоминают. Что-то такое: СЂСѓСЃСЃРєРёР№_текст.txt. Что говорят другие архиваторы? Какая Windows? 95, или целая ME?
у меня есть доказательство
Отредактировано Shaman (Июнь 12, 2013 16:17:11)
Офлайн
72
Не надо так делать. Постоянно натыкаюсь на архивы с именами файлов в кракозябрах. zip нигде не хранит данных об используемой кодировке, и если на целевой машине она отличается от исходной, то пипал хевает траблы :( По умолчанию zip использует кодировку IBM437, в ней, понятно, кириллицей не пахнет, так что лучше пишите имена в транслите.
Офлайн