Архивы ZIP сжимают и объединяют несколько файлов или папок в единый контейнер. ZIP-архив не только инкапсулирует файлы и папки, но также сохраняет их метаданные. Они в первую очередь уменьшают размер файла для хранения/передачи и повышают безопасность за счет шифрования. В дополнение к обычным инструментам сжатия файлов настольные и веб-приложения интегрируют функции автоматического сжатия и извлечения для оптимизации таких задач, как загрузка, скачивание, совместное использование и шифрование файлов. В этой статье представлен упрощенный способ сжатия файлов или папок и создания ZIP-архивов в Python. Кроме того, здесь рассказывается, как создавать зашифрованные и защищенные паролем ZIP-архивы в Python. Итак, давайте углубимся в это.
- ZIP-библиотека Python
- Создайте ZIP-архив с помощью Python
- Добавить несколько файлов в ZIP-архив
- Добавить папки в ZIP-архив
- Создайте ZIP-архив, защищенный паролем.
- Шифрование ZIP-архива с помощью шифрования AES
- Установить режим параллельного сжатия
ZIP-библиотека Python
Aspose.ZIP for Python — это мощная и универсальная библиотека, предоставляющая разработчикам полный набор инструментов для работы с ZIP-файлами в приложениях Python. Благодаря интуитивно понятному API и широкому спектру функций Aspose.ZIP for Python позволяет легко создавать, извлекать и эффективно управлять ZIP-архивами. Вы можете установить библиотеку из PyPI с помощью следующей команды.
> pip install aspose-zip
Создайте ZIP-архив в Python
Ниже приведены шаги по сжатию файла путем добавления его в ZIP-архив в Python.
- Сначала создайте новый ZIP-архив, используя класс Archive.
- Затем добавьте файл в ZIP-архив с помощью метода Archive.createentry().
- Наконец, сохраните ZIP-архив с помощью метода Archive.save().
В следующем примере кода показано, как добавить файл в ZIP-архив в Python.
import aspose.zip as az
# Создать и сохранить архив с одним файлом
with az.Archive() as archive:
# Добавить файл в архив
archive.create_entry("file", "file.txt")
# Создать и сохранить zip-архив
archive.save('my_archive.zip')
Добавьте несколько файлов в ZIP-архив в Python
В предыдущем разделе мы продемонстрировали, как вставить один файл в ZIP-архив. Однако если у вас более одного файла, вы можете повторно вызывать метод Archive.createentry().
В следующем примере кода показано, как вставить несколько файлов в ZIP-архив в Python.
import aspose.zip as az
# Создать и сохранить архив с несколькими файлами
with az.Archive() as archive:
# Добавить первый файл
archive.create_entry("file", "file.txt")
# Добавить второй файл
archive.create_entry("file2", "file2.txt")
# Создать и сохранить zip-архив
archive.save('my_archive.zip')
Добавление папок в ZIP-архив в Python
Не только файлы, но и папки можно сжимать в ZIP-архивы. Для этого вам не нужно добавлять в архив каждый файл из папки по одному. Просто вызовите метод Archive.createentries(), передайте имя папки, и все. Для вашего понимания ниже приведены шаги по архивированию всей папки.
- Сначала создайте новый архив, используя класс Archive.
- Затем добавьте папку в ZIP-архив, используя метод Archive.createentries(foldername).
- Наконец, сохраните ZIP-архив с помощью метода Archive.save().
В следующем примере кода показано, как добавить папку в ZIP в Python.
import aspose.zip as az
# Создать архив из папки
with az.Archive() as archive:
# Добавить папку в zip
archive.create_entries("files")
# Создать и сохранить zip-архив
archive.save('my_archive_from_folder.zip')
Создайте защищенный паролем ZIP-файл в Python
В различных случаях, например при публикации архива в Интернете, вам необходимо защитить ZIP-файл паролем. Создание ZIP-архива, защищенного паролем, с помощью Aspose.ZIP for Python — это простой процесс, обеспечивающий повышенную безопасность ваших сжатых файлов. Итак, давайте посмотрим, как защитить ZIP-архив паролем на Python.
- Сначала создайте объект класса ArchiveEntrySettings и инициализируйте его нужным паролем.
- Затем создайте объект класса Archive и инициализируйте его с помощью объекта ArchiveEntrySettings, созданного вами выше.
- После этого добавьте в ZIP-архив файлы и папки.
- Наконец, сохраните ZIP-архив с помощью метода Archive.save().
В следующем примере кода показано, как создать ZIP-архив, защищенный паролем, в Python.
import aspose.zip as az
# Создайте настройки архива и установите пароль
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))
# Создать и сохранить архив с несколькими файлами
with az.Archive(archive_settings) as archive:
# Добавить папку в zip
archive.create_entries("files")
# Создать и сохранить zip-архив
archive.save('protected_archive.zip')
Шифрование ZIP-архива с помощью шифрования AES
В предыдущем примере мы применили традиционные настройки для защиты ZIP-архива паролем. Однако Aspose.ZIP for Python позволяет вам использовать шифрование AES для шифрования ваших ZIP-архивов. Вы можете использовать следующие методы шифрования AES:
- AES128
- AES192
- AES256
Процесс применения шифрования AES такой же, как вы видели в предыдущем разделе. Единственное отличие состоит в том, что теперь вы будете использовать AesEcryptionSettings вместо TraditionalEncryptionSettings при определении настроек архива. В следующем примере кода показано, как применить шифрование AES к ZIP-архивам в Python.
import aspose.zip as az
# Создайте настройки архива и установите пароль
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))
# Создать и сохранить архив с несколькими файлами
with az.Archive(archive_settings) as archive:
# Добавить папку в zip
archive.create_entries("files")
# Создать и сохранить zip-архив
archive.save('protected_archive.zip')
Установить режим параллельного сжатия
Aspose.ZIP for Python также позволяет настраивать процесс ZIP-архивирования, используя настройки параллельного сжатия. Эта конфигурация сообщает API, когда следует применять параллельное сжатие. Доступны следующие режимы параллельного сжатия.
- Никогда — не сжимать параллельно.
- Всегда — сжимайте параллельно (остерегайтесь нехватки памяти).
- Авто — решите, использовать или нет параллельное сжатие записей. Эта опция может сжимать только некоторые записи параллельно.
Ниже приведены шаги по применению параллельного сжатия при создании ZIP-архива в Python.
- Сначала создайте новый архив, используя класс Archive.
- Затем добавьте файлы или папки в ZIP-архив (как показано в предыдущих разделах).
- Создайте экземпляр класса ParallelOptions и задайте для свойства ParallelCompressinMemory желаемое значение ParallelCompressionMode.
- Создайте экземпляр класса ArchiveSaveOptions.
- Назначьте объект ParallelOptions свойству ArchiveSaveOptions.paralleloptions.
- Наконец, сохраните ZIP-архив с помощью метода Archive.save().
В приведенном ниже примере кода показано, как применить параллельное сжатие при сжатии файлов в Python.
# Создать и сохранить архив с несколькими файлами
import aspose.zip as az
with az.Archive() as archive:
# Добавить файлы/папку в zip
archive.create_entry("file", "file.txt")
archive.create_entry("file2", "file2.txt")
# Создайте параметры для параллельного сжатия
parallelOptions = az.saving.ParallelOptions()
parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS
# Создайте параметры сохранения ZIP
archiveSaveOptions = az.saving.ArchiveSaveOptions()
archiveSaveOptions.parallel_options = parallelOptions
archiveSaveOptions.archive_comment = "Files compressed with parallel compression."
# Создать и сохранить zip-архив
archive.save('parallel_compression_archive.zip', archiveSaveOptions)
Получите бесплатную лицензию
Вы можете получить бесплатную временную лицензию и сжимать файлы в ZIP-архив без каких-либо ограничений по ознакомлению.
ZIP-библиотека Python — Ресурсы
Вы можете узнать больше о нашей ZIP-библиотеке Python, используя следующие ресурсы:
Сделать ZIP-архивы онлайн
Попробуйте наше бесплатное приложение для архивирования файлов, созданное на базе Aspose.ZIP for Python.
Заключение
В заключение, Aspose.ZIP for Python предлагает надежное и универсальное решение для легкого создания и управления ZIP-архивами. Благодаря обширному набору функций разработчики могут легко интегрировать функциональность ZIP в свои приложения Python. Будь то сжатие файлов, добавление шифрования или организация сложных структур каталогов, Aspose.ZIP предоставляет надежный набор инструментов для оптимизации этих задач.
В этой статье вы найдете полное руководство по созданию ZIP-архивов в Python. Кроме того, мы рассмотрели, как архивировать несколько файлов и папок, создавать ZIP-архивы, защищенные паролем, применять шифрование AES и настраивать параллельные методы сжатия ZIP. Вы можете легко интегрировать библиотеку в свои приложения Python и использовать предоставленные примеры кода.