1. 产品
  2.   压缩
  3.   Python
  4.   Pyminizip
 
  

通过免费 Python 库创建密码保护的 ZIP 档案

领先的开源高效安全 Python 库,使 Python 开发者能够通过免费 API 创建带自定义压缩设置的密码保护 ZIP 文件。

什么是 Pyminizip 库?

Pyminizip 是一个强大且开源的 Python 库,使软件开发者能够创建具有自定义压缩级别的受密码保护的 ZIP 文件。它基于 zlib 套件中的 minizip 算法封装而成,提供了对初学者友好的简洁 API,同时满足高级需求的强大功能。主要特性包括创建受密码保护的 ZIP 文件、压缩多个文件或整个文件夹、目录压缩以及可调节的压缩设置。

由 Srdjan Mihajlovic 开发,这款快速且轻量的工具非常适合数据备份、归档和云存储应用。Pyminizip 支持跨平台兼容,适用于 Windows、macOS 和 Linux,并通过 AES 加密提升机密文件的安全性。其简易集成适用于从基础脚本到复杂 GUI 的所有场景,为在各种 Python 应用中处理单个文件、批量操作和目录提供了灵活性。

Previous Next

Pyminizip 入门指南

推荐的 Pyminizip 安装方式是使用 pypi.org。请使用以下命令以顺利安装。

通过 .NET 使用 pypi 安装 Pyminizip

 $ pip install pyminizip

从 GitHub 克隆 Pyminizip 仓库

git clone https://github.com/smihica/pyminizip.git 
也可以手动安装;直接从 GitHub 仓库下载最新的发布文件。

使用 Python 创建受密码保护的 ZIP

开源的 Pyminizip 库使软件开发者能够在自己的 Python 应用程序中轻松创建和管理受密码保护的 ZIP 文件。虽然 Python 标准库提供了一些压缩工具,但 zipfile 模块缺少密码保护功能。Pyminizip 通过允许用户使用 AES 加密标准对文件进行加密,填补了这一空白。下面的示例展示了软件开发者如何在 Python 应用程序中创建受密码保护的 ZIP 文件并设置压缩级别。

如何在 Python 应用中创建受密码保护的 ZIP 文件?

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.")

通过 Python API 压缩目录

除了压缩单个文件之外,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.")

通过 Python API 控制压缩级别

开源的 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 应用中。它在备份工具、安全文件分发系统以及需要密码保护的归档应用中表现尤为出色。

 中国人