無料のPythonライブラリでパスワード保護ZIPアーカイブを作成
Python 開発者が無料APIを使用してカスタム圧縮設定でパスワード保護ZIPファイルを作成できる、先進的なオープンソースの効率的かつ安全なPythonライブラリです。
Pyminizip ライブラリとは?
Pyminizip は、カスタム圧縮レベルでパスワード保護された ZIP ファイルを作成できる、強力なオープンソースの Python ライブラリです。zlib スイートの minizip アルゴリズムをラップして構築されており、初心者に最適なシンプルな API を提供すると同時に、上級者向けの高度な機能も備えています。主な機能には、パスワード保護された ZIP ファイルの作成、複数ファイルやフォルダー全体の圧縮、ディレクトリ圧縮、そして調整可能な圧縮設定が含まれます。
Srdjan Mihajlovic によって開発されたこの高速で軽量なツールは、データバックアップ、アーカイブ、クラウドストレージアプリケーションに最適です。Pyminizip は Windows、macOS、Linux のクロスプラットフォーム互換性をサポートし、機密ファイルのために AES 暗号化でセキュリティを強化します。そのシンプルな統合は、基本的なスクリプトから複雑な GUI まであらゆるものに適合し、個別ファイル、バッチ操作、ディレクトリを多様な Python アプリケーション内で柔軟に扱うことができます。
Pyminizip の開始方法
Pyminizip をインストールする推奨方法は pypi.org を使用することです。スムーズなインストールのために以下のコマンドをご利用ください。
Pyminizip を .NET 経由で pypi からインストール
$ pip install pyminizipGitHub から 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 アプリケーションに容易に組み込むことができます。バックアップユーティリティや安全なファイル配布システム、パスワード保護が必要なアーカイブアプリケーションと特に相性が良いです。