Обзор

В некоторых случаях нет необходимости сжимать данные в архиве, например, если это картинки или видео в сжатом формате, либо другие данные, которые уже тем или иным образом сжаты. В этом случае архив разумно сохранить без сжатия, в режиме «сохранить». Наша библиотека предлагает несколько вариантов решения подобной задачи, используя разные форматы.

Почтовый индекс

Чтобы создать Zip-архив, необходимо использовать специальный класс StoreCompressionSettings при создании экземпляра Archive.

    with io.FileIO("archive.zip", 'x') as zipFile: 
        store_settings = zp.saving.ArchiveEntrySettings(zp.saving.StoreCompressionSettings()) 
        with zp.Archive(store_settings) as archive:
            archive.create_entry("alice29.txt", "alice29.txt")
            archive.create_entry("asyoulik.txt", "asyoulik.txt")
            archive.save(zipFile)

Этот код демонстрирует, как создать новый ZIP-архив с именем «archive.zip» без сжатия. Это достигается путем создания объекта ZIP-архива для записи, а затем добавления в архив двух конкретных текстовых файлов: «alice29.txt» и «asyoulik.txt».

7ZIP

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

    with io.FileIO("archive.7z", 'x') as szFile: 
        store_settings = zp.saving.SevenZipEntrySettings(zp.saving.SevenZipStoreCompressionSettings())
        with zp.sevenzip.SevenZipArchive(store_settings) as archive:
            archive.create_entry("alice29.txt", "alice29.txt")
            archive.create_entry("asyoulik.txt", "asyoulik.txt")
            archive.save(szFile)

Этот код работает аналогично предыдущему, с той лишь разницей, что в результате будет создан архив формата 7Z.

XAR

Если вы предпочитаете форматы, дружественные к Mac-OS, вы можете аналогичным образом создать архив Xar, используя класс настроек XarStoreCompressionSettings.

    with io.FileIO("joint.xar", 'x') as xarFile: 
        store_settings = zp.saving.XarStoreCompressionSettings()
        with zp.xar.XarArchive(store_settings) as archive:
            archive.create_entry("text.txt", "text.txt")
            archive.create_entry("picture.png", "picture.png")
            archive.save(xarFile)

ТАР

Формат TAR изначально был создан как средство простого объединения нескольких файлов в один для платформ на базе Unix. Поэтому, если вы хотите использовать формат TAR, вам просто нужно создать экземпляр TarArchive без какой-либо дополнительной настройки.

    with io.FileIO("joint.tar", 'x') as tarFile: 
        with zp.tar.TarArchive() as archive:
            archive.create_entry("text.txt", "text.txt")
            archive.create_entry("picture.png", "picture.png")
            archive.save(tarFile)

CPIO

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

    with io.FileIO("joint.tar", 'x') as cpioFile: 
        with zp.cpio.CpioArchive() as archive:
            archive.create_entry("text.txt", "text.txt")
            archive.create_entry("picture.png", "picture.png")
            archive.save(cpioFile)

Предоставленные примеры кода демонстрируют, как с помощью библиотеки aspose.zip можно легко и эффективно хранить любое количество файлов в несжатом архиве. Такой подход обеспечивает скорость операций и повышает удобство работы с файлами. Благодаря этому вы сможете быстро создавать архивы в форматах ZIP, 7Z, TAR, XAR и CPIO, что полезно для организации и передачи файлов в различных ситуациях.

Другие поддерживаемые функции 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: