ایجاد آرشیوهای ZIP با حفاظت از رمز عبور از طریق کتابخانه رایگان پایتون
کتابخانه پیشرو منبع باز، کارآمد و ایمن پایتون که به توسعهدهندگان پایتون امکان ایجاد فایل ZIP با حفاظت از رمز عبور و تنظیمات فشردهسازی سفارشی را از طریق API رایگان میدهد.
کتابخانه Pyminizip چیست؟
Pyminizip یک کتابخانه قدرتمند و متنباز پایتون است که به توسعهدهندگان نرمافزار امکان ایجاد فایلهای ZIP محافظتشده با رمز عبور با سطوح فشردهسازی سفارشی را میدهد. این کتابخانه بهعنوان یک wrapper بر الگوریتم minizip از مجموعه zlib ساخته شده است و API سادهای ارائه میدهد که برای مبتدیان ایدهآل است، در حالی که عملکرد قوی برای نیازهای پیشرفته فراهم میکند. ویژگیهای کلیدی شامل ایجاد فایل ZIP محافظتشده با رمز عبور، فشردهسازی چندین فایل یا کل پوشهها، فشردهسازی دایرکتوری، و تنظیمات قابل تنظیم فشردهسازی است.
توسط سردیان میهاجلوویچ توسعه یافته، این ابزار سریع و سبک برای پشتیبانگیری از دادهها، بایگانی و برنامههای ذخیرهسازی ابری ایدهآل است. Pyminizip سازگاری چندسکویی را در ویندوز، macOS و لینوکس پشتیبانی میکند و با رمزنگاری AES امنیت فایلهای محرمانه را افزایش میدهد. یکپارچهسازی ساده آن برای همه چیز از اسکریپتهای پایه تا رابطهای کاربری پیچیده مناسب است و انعطافپذیری لازم برای مدیریت فایلهای منفرد، عملیات دستهای و دایرکتوریها در برنامههای متنوع پایتون را فراهم میکند.
شروع کار با Pyminizip
روش پیشنهادی برای نصب Pyminizip استفاده از pypi.org است. لطفاً برای نصب روان، فرمان زیر را اجرا کنید.
نصب Pyminizip از طریق .NET با pypi
$ pip install pyminizipکلون مخزن Pyminizip از GitHub
git clone https://github.com/smihica/pyminizip.git
همچنین میتوان آن را بهصورت دستی نصب کرد؛ فایلهای آخرین نسخه را مستقیماً از مخزن GitHub دانلود کنید.ایجاد فایل ZIP محافظتشده با رمز عبور با استفاده از پایتون
کتابخانه منبع باز Pyminizip ایجاد و مدیریت فایلهای ZIP محافظتشده با رمز عبور را در برنامههای پایتون خود برای توسعهدهندگان نرمافزار آسان میکند. در حالی که کتابخانه استاندارد پایتون برخی ابزارهای فشردهسازی را ارائه میدهد، اما حفاظت با رمز عبور در ماژول zipfile وجود ندارد. Pyminizip این خلا را با امکان رمزنگاری فایلها با استاندارد رمزنگاری AES پر میکند. مثال زیر نشان میدهد که چگونه توسعهدهندگان میتوانند فایلهای ZIP محافظتشده با رمز عبور ایجاد کرده و سطح فشردهسازی را در برنامههای پایتون تنظیم کنند.
چگونه یک فایل 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.")
فشردهسازی پوشه با استفاده از API پایتون
علاوه بر فشردهسازی فایلهای تکتکه، کتابخانه Pyminizip امکان فشردهسازی کل پوشهها را تنها با چند خط کد پایتون فراهم میکند. این ویژگی زمانی که نیاز به بستهبندی چندین فایل بهصورت یکجا باشد، بهویژه برای اهداف پشتیبانگیری یا توزیع، بسیار مفید است. این کتابخانه تمام فایلها و پوشههای موجود در مسیر مشخصشده را شامل میشود و امکان حفاظت با رمز عبور برای کل آرشیو را فراهم میکند. در ادامه یک مثال بسیار مفید برای فشردهسازی یک پوشه در برنامههای پایتون آورده شده است.
چگونه یک پوشه را با استفاده از کتابخانه پایتون فشرده کنیم؟
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 پایتون
کتابخانه منبع باز Pyminizip برای پایتون امکان کنترل سطح فشردهسازی را فراهم میکند و به کاربران اجازه میدهد بین سرعت فشردهسازی و اندازه فایل تعادل برقرار کنند. سطح پایینتر منجر به فشردهسازی سریعتر با خروجی بزرگتر میشود و از سوی دیگر سطح بالاتر فشردهسازی بهتری را با هزینهٔ کاهش سرعت ارائه میدهد. این انعطافپذیری باعث میشود Pyminizip برای موارد استفاده مختلف، از بایگانی سریع تا ذخیرهسازی کارآمد فایل، قابل تطبیق باشد. در ادامه مثالی آورده شده است که نشان میدهد چگونه میتوان سطوح مختلف فشردهسازی را در برنامههای پایتون آزمایش کرد.
چگونه سطوح مختلف فشردهسازی را در برنامههای پایتون اعمال کنیم؟
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}")
یکپارچهسازی با برنامههای پایتون
به دلیل سادگی و سهولت استفاده، کتابخانه Pyminizip میتواند بهسرعت در برنامههای پایتون که نیاز به فشردهسازی فایل دارند، ادغام شود. این کتابخانه بهویژه با ابزارهای پشتیبانگیری، سیستمهای توزیع امن فایل و برنامههای بایگانی که به حفاظت با رمز عبور نیاز دارند، عملکرد خوبی دارد.