Обзор

Архивы, состоящие из записей, имеют метод createEntries для сжатия целых папок. Эти методы сохраняют структуру каталогов и рекурсивно включают все подпапки. Кроме того, вы можете добавлять отдельные записи файлов в любую подпапку архива.

Как сжать ZIP-папку

Чтобы сжать папку в ZIP-архив, вы можете использовать следующий фрагмент кода Python. Используя класс zp.Archive, вы можете создавать записи для всей папки, сохраняя ее структуру. Просто вызовите метод create_entries с указанием пути к папке, затем сохраните архив с помощью метода save, как показано ниже:

    with zp.Archive() as archive:
        archive.create_entries("D:\\Data")
        archive.save("archive.zip")

Sampe 2:

    with zp.Archive() as archive:
        archive.create_entry("data\\pictures\\photo.bmp", "image.bmp")
        archive.create_entry("data\\text\\song.txt", "lyrics.txt")
        archive.save("archive.zip")

Эти коды используются для создания архивов из файлов и папок. Первый код создает архив, который рекурсивно добавляет все файлы и подкаталоги из папки «D:\Data», сохраняя их структуру, а затем сохраняет архив как «archive.zip». Второй код создает архив, в который добавляются отдельные файлы: в архив с именем «image.bmp» добавляется файл «data\pictures\photo.bmp», а файл «data\text\song.txt» добавляется с именем «lyrics.txt». В обоих случаях архив сохраняется как «archive.zip». Эти методы позволяют добавлять в ZIP-архив как целые каталоги, так и отдельные файлы с возможностью изменения их названий внутри архива, обеспечивая гибкость в организации данных.

Сжать папку в 7ZIP

Для формата 7Z подход аналогичен предыдущему, но для обработки сжатия 7z используется класс SevenZipArchive.

    with zp.sevenzip.SevenZipArchive() as archive:
        archive.create_entries("D:\\Data")
        archive.save("archive.7z")

Сжимать файлы в TAR

Вы можете использовать TarArchive вместо класса zip-архива. Использование полностью аналогично предыдущим примерам:

    with zp.tar.TarArchive() as archive:
        archive.create_entries("D:\\Data")
        archive.save("archive.tar")

Sampe 2:

    with zp.tar.TarArchive() as archive:
        archive.create_entry("data\\pictures\\photo.bmp", "image.bmp")
        archive.create_entry("data\\text\\song.txt", "lyrics.txt")
        archive.save("archive.tar")

XAR

XarArchive работает аналогично примерам, описанным ранее, позволяя создавать архивы XAR с возможностью добавления файлов или каталогов с сохранением их структуры.

    with open("archive.xar", "xb") as xar_file:
        with zp.xar.XarArchive() as archive:
            archive.create_entries("C:\\Folder", false)
            archive.save(xar_file)

Другие поддерживаемые функции API Aspose.ZIP для Python.Net

С помощью библиотеки Aspose.ZIP в Python.Net вы можете легко решать различные задачи, связанные с документами в формате ZIP. Если вам нужно конвертировать форматы, объединять файлы, редактировать содержимое или извлекать данные, Aspose.ZIP предоставляет комплексные функциональные возможности для оптимизации вашего рабочего процесса и повышения производительности.

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: