Создавайте ZIP‑архивы с паролем с помощью бесплатной библиотеки Python
Ведущая открытая, эффективная и безопасная библиотека Python, позволяющая разработчикам создавать ZIP‑файлы с паролем и настраиваемыми параметрами сжатия через бесплатный API.
Что такое библиотека Pyminizip?
Pyminizip — мощная, открытая библиотека Python, позволяющая разработчикам создавать ZIP‑файлы, защищённые паролем, с пользовательскими уровнями сжатия. Построенная как обёртка над алгоритмом minizip из набора zlib, она предоставляет простой API, идеальный для начинающих, и при этом обеспечивает надёжный функционал для продвинутых задач. Ключевые возможности включают создание ZIP‑файлов с защитой паролем, сжатие нескольких файлов или целых папок, сжатие каталогов и настройку параметров сжатия.
Разработанный Срджаном Михайловичем, этот быстрый и легковесный инструмент идеально подходит для резервного копирования данных, архивирования и облачных хранилищ. Pyminizip поддерживает кроссплатформенную совместимость с Windows, macOS и Linux и повышает безопасность с помощью AES‑шифрования конфиденциальных файлов. Его простая интеграция подходит как для базовых скриптов, так и для сложных графических интерфейсов, обеспечивая гибкость при работе с отдельными файлами, пакетными операциями и каталогами в различных Python‑приложениях.
Начало работы с Pyminizip
Рекомендуемый способ установки Pyminizip — использовать pypi.org. Пожалуйста, используйте следующую команду для беспроблемной установки.
Установите Pyminizip через .NET из PyPI
$ pip install pyminizipКлонируйте репозиторий Pyminizip с GitHub
git clone https://github.com/smihica/pyminizip.git
Также возможно установить его вручную; загрузите последние файлы релиза напрямую из репозитория GitHub.Создание ZIP с паролем через Python
Открытая библиотека Pyminizip упрощает разработчикам программного обеспечения создание и управление ZIP‑файлами, защищёнными паролем, внутри их собственных Python‑приложений. Хотя стандартная библиотека Python предоставляет некоторые инструменты сжатия, защита паролем отсутствует в модуле zipfile. Pyminizip заполняет этот пробел, позволяя пользователям шифровать свои файлы с использованием стандарта шифрования AES. Ниже приведён пример, показывающий, как разработчики могут создавать ZIP‑файлы, защищённые паролем, и задавать уровень сжатия в Python‑приложениях.
Как создать ZIP‑файл, защищённый паролем, в приложениях Python?
import pyminizip
# Define file paths and password
input_file = "sample.txt" # file to zip
output_file = "sample.zip" # output zip file name
password = "securepassword"
compression_level = 5 # range 1-9, where 1 is fastest and 9 is maximum compression
# Create password-protected zip file
pyminizip.compress(input_file, None, output_file, password, compression_level)
print(f"{output_file} created with password protection.")
Сжатие каталога через API Python
Помимо сжатия отдельных файлов, библиотека Pyminizip позволяет сжимать целые каталоги всего лишь несколькими строками кода на Python. Эта возможность удобна, когда необходимо упаковать несколько файлов вместе, особенно для резервного копирования или распространения. Библиотека включит все файлы и папки в указанном каталоге, обеспечивая защиту паролем всего архива. Ниже представлен очень полезный пример сжатия каталога в Python‑приложениях.
Как сжать каталог с помощью библиотеки Python?
import pyminizip
import os
def compress_directory(directory_path, output_file, password, compression_level):
for root, _, files in os.walk(directory_path):
for file in files:
file_path = os.path.join(root, file)
arcname = os.path.relpath(file_path, directory_path)
pyminizip.compress(file_path, arcname, output_file, password, compression_level)
# Usage
directory_path = "my_folder"
output_file = "my_folder.zip"
password = "mypassword"
compression_level = 5
compress_directory(directory_path, output_file, password, compression_level)
print(f"Directory '{directory_path}' compressed into '{output_file}' with password protection.")
Управление уровнем сжатия через API Python
Открытая библиотека Pyminizip для Python предоставляет контроль над уровнем сжатия, позволяя пользователям находить баланс между скоростью сжатия и размером файлов. Более низкий уровень приводит к более быстрому сжатию, но с большими размерами выходных файлов, тогда как более высокий уровень обеспечивает лучшее сжатие за счёт скорости. Такая гибкость делает Pyminizip адаптируемой для различных сценариев использования, от быстрого архивирования до эффективного хранения файлов. Ниже приведён пример, демонстрирующий, как тестировать разные уровни сжатия в приложениях Python.
Как применить разные уровни сжатия в приложениях Python?
import pyminizip
input_file = "example.txt"
password = "test123"
for level in range(1, 10):
output_file = f"example_level_{level}.zip"
pyminizip.compress(input_file, None, output_file, password, level)
print(f"Created {output_file} with compression level {level}")
Интеграция с приложениями Python
Благодаря своей простоте и удобству, библиотеку Pyminizip можно легко интегрировать в Python‑приложения, требующие сжатия файлов. Она особенно хорошо подходит для утилит резервного копирования, систем безопасного распределения файлов и архивных приложений, которым необходима защита паролем.