Сжатие каталога с помощью Shutil.make_archive() с сохранением структуры каталогаPython

Программы на Python
Ответить
Anonymous
 Сжатие каталога с помощью Shutil.make_archive() с сохранением структуры каталога

Сообщение Anonymous »

Я пытаюсь заархивировать каталог с именем test_dicoms в zip-файл с именем test_dicoms.zip, используя следующий код:
shutil.make_archive('/home/code/test_dicoms', 'zip', '/home/code/test_dicoms')

Проблема в том, что когда я разархивирую его, все файлы, которые были в /test_dicoms/, извлекаются в /home/code/ вместо папки /test_dicoms/ и все содержащиеся в нем файлы извлекаются в /home/code/. Итак, в /test_dicoms/ есть файл с именем foo.txt, и после того, как я заархивирую и разархивирую файл foo.txt, путь к нему будет /home/code/foo.txt, а не в /home/code/test_dicoms/foo.txt. Как мне это исправить? Кроме того, некоторые каталоги, с которыми я работаю, очень велики. Нужно ли мне что-то добавлять в свой код, чтобы сделать его ZIP64, или функция достаточно умна, чтобы сделать это автоматически?
Вот что сейчас находится в созданном архиве:
[gwarner@jazz gwarner]$ unzip -l test_dicoms.zip
Archive: test_dicoms.zip
Length Date Time Name
--------- ---------- ----- ----
93324 09-17-2015 16:05 AAscout_b_000070
93332 09-17-2015 16:05 AAscout_b_000125
93332 09-17-2015 16:05 AAscout_b_000248


Подробнее здесь: https://stackoverflow.com/questions/326 ... ectory-str
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»