Лучший способ заархивировать файлы в Python (сжать весь каталог одной командой)? [duplicate]

8
задан Community 23 May 2017 в 11:50
поделиться

2 ответа

Обратите внимание, что это не включает пустые каталоги. Если это необходимо, в Интернете есть обходные пути; вероятно, лучше всего получить запись ZipInfo для пустых каталогов в наших любимых программах архивирования, чтобы увидеть, что в них находится.

Жесткое кодирование файла/пути, чтобы избавиться от специфики моего кода...

target_dir = '/tmp/zip_me_up'
zip = zipfile.ZipFile('/tmp/example.zip', 'w', zipfile.ZIP_DEFLATED)
rootlen = len(target_dir) + 1
for base, dirs, files in os.walk(target_dir):
   for file in files:
      fn = os.path.join(base, file)
      zip.write(fn, fn[rootlen:])
23
ответ дан 5 December 2019 в 05:18
поделиться

Вы можете попробовать использовать пакет distutils:

distutils.archive_util.make_zipfile(base_name, base_dir[, verbose=0, dry_run=0])
6
ответ дан 5 December 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: