Сжатие каталога с использованием shutil.make_archive () при сохранении структуры каталогов [python]


Answers

Question

Я пытаюсь test_dicoms каталог с именем 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/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