Створіть ZIP на Python

Архіви ZIP стискають і об’єднують кілька файлів або папок в єдиний контейнер. Архів ZIP не лише інкапсулює файли та папки, але й зберігає їхні метадані. Вони насамперед зменшують розмір файлу для зберігання/передачі та додають безпеки завдяки шифруванню. На додаток до звичайних інструментів стиснення файлів, настільні та веб-додатки інтегрують функції автоматичного стиснення та вилучення, щоб оптимізувати такі завдання, як завантаження, завантаження, спільний доступ і шифрування файлів. У цій статті представлено спрощений спосіб стиснення файлів або папок і створення архівів ZIP у Python. Крім того, тут описано, як створювати зашифровані та захищені паролем архіви ZIP у Python. Тож давайте заглибимося в це.

Бібліотека Python ZIP

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-архів без будь-яких обмежень оцінки.

Бібліотека Python ZIP – ресурси

Ви можете дізнатися більше про нашу бібліотеку Python ZIP, використовуючи такі ресурси:

Зробіть ZIP-архів онлайн

Спробуйте нашу безкоштовну програму для стиснення файлів, яка працює на основі Aspose.ZIP for Python.

Висновок

Підсумовуючи, Aspose.ZIP for Python пропонує надійне та універсальне рішення для легкого створення ZIP-архівів і керування ними. Завдяки повному набору функцій розробники можуть легко інтегрувати функціональність ZIP у свої програми Python. Незалежно від того, чи йдеться про стиснення файлів, додавання шифрування чи організацію складних структур каталогів, Aspose.ZIP надає надійний інструментарій для оптимізації цих завдань.

Ця стаття надала вам повний посібник зі створення ZIP-архівів у Python. Крім того, ми розглянули, як архівувати кілька файлів і папок, створювати захищені паролем архіви ZIP, застосовувати шифрування AES і налаштовувати методи паралельного стиснення ZIP. Ви можете легко інтегрувати бібліотеку у свої програми Python і використовувати надані зразки коду.

Дивись також