Найти - Пользователи
Полная версия: Python 3 - Как записать в архив файлы с русскими именами??
Начало » Python для новичков » Python 3 - Как записать в архив файлы с русскими именами??
1 2
antrop
Помогите пожалуйста разобраться, не могу записать в zip архив файлы с русскими именами, точнее эти файлы отображаются крокозябрами((

Использую питон 3 - Пишу так:
from zipfile import ZipFile
z = ZipFile('D:/test.zip', 'a')  #создаю архив 
z.write('d:/русский_текст.txt','русский_текст.txt')  #записываю файл с русским названием в архив
z.close()

Решил попробовать залить в кодировку CP866(вроде как она используется в архивах)
Во втором питоне вроде так работало
z.write('d:/русский_текст.txt','русский_текст.txt'.encode('cp866'))
Получаю ошибку - TypeError: Type str doesn't support the buffer API

Помогите разобраться!!((
Shaman
Что говорит locale.getlocale()? Какая кодировка у исходников?
gamoff
Не дури ты людям галавы все в slackware нормально работает)))
antrop
Shaman
locale.getlocale()

locale.getlocale()
('Russian_Russia', ‘1251’)
Shaman
gamoff
в slackware нормально работает)))
и в винде всё работает на ура
antrop
Shaman
и в винде всё работает на ура

не в любой винде(( у меня есть доказательство
antrop
Товарищи питонисты ! Неужто никто не знает.(((
gamoff
Shaman
gamoff
в slackware нормально работает)))
и в винде всё работает на ура

в чем вопрос, скрипт реально работает!
Shaman
antrop
у меня есть доказательство
Вот эти вот “Т” через символ мне что-то напоминают. Что-то такое: СЂСѓСЃСЃРєРёР№_текст.txt. Что говорят другие архиваторы? Какая Windows? 95, или целая ME?
PooH
Не надо так делать. Постоянно натыкаюсь на архивы с именами файлов в кракозябрах. zip нигде не хранит данных об используемой кодировке, и если на целевой машине она отличается от исходной, то пипал хевает траблы :( По умолчанию zip использует кодировку IBM437, в ней, понятно, кириллицей не пахнет, так что лучше пишите имена в транслите.
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