1. منتجات
  2.   ضغط
  3.   Python
  4.   Pyminizip
 
  

إنشاء أرشيفات ZIP محمية بكلمة مرور عبر مكتبة بايثون مجانية

مكتبة بايثون مفتوحة المصدر رائدة، فعّالة وآمنة، تمكّن مطوري بايثون من إنشاء ملفات ZIP محمية بكلمة مرور مع إعدادات ضغط مخصصة عبر واجهة برمجة تطبيقات مجانية.

ما هي مكتبة Pyminizip؟

Pyminizip هي مكتبة Python قوية ومفتوحة المصدر تمكّن مطوري البرمجيات من إنشاء ملفات ZIP محمية بكلمة مرور مع مستويات ضغط مخصصة. تم بناؤها كغلاف حول خوارزمية minizip من مجموعة zlib، وتوفر واجهة برمجة تطبيقات بسيطة مثالية للمبتدئين بينما تقدم وظائف قوية للاحتياجات المتقدمة. تشمل الميزات الرئيسية إنشاء ملفات ZIP محمية بكلمة مرور، ضغط ملفات متعددة أو مجلدات كاملة، ضغط الدلائل، وإعدادات ضغط قابلة للتعديل.

تم تطويره بواسطة سريجان ميهايلوفيتش، هذه الأداة السريعة والخفيفة مثالية لعمليات النسخ الاحتياطي للبيانات، والأرشفة، وتطبيقات التخزين السحابي. يدعم Pyminizip التوافق عبر الأنظمة بما في ذلك Windows و macOS و Linux ويعزز الأمان بتشفير AES للملفات السرية. تكاملها البسيط يناسب كل شيء من السكريبتات الأساسية إلى الواجهات الرسومية المعقدة، مما يوفر مرونة في التعامل مع الملفات الفردية، والعمليات الدفعية، والدلائل داخل تطبيقات Python المتنوعة.

Previous Next

البدء مع 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 محمي بكلمة مرور داخل تطبيقات 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.")

ضغط دليل عبر واجهة برمجة التطبيقات في بايثون

بالإضافة إلى ضغط الملفات الفردية، تتيح مكتبة Pyminizip ضغط الأدلة بالكامل باستخدام بضع أسطر فقط من كود بايثون. هذه الميزة مفيدة عندما تحتاج ملفات متعددة إلى تجميعها معًا، خاصة لأغراض النسخ الاحتياطي أو التوزيع. ستشمل المكتبة جميع الملفات والمجلدات في الدليل المحدد، مما يسمح بحماية كلمة مرور على الأرشيف بأكمله. إليكم مثالًا مفيدًا جدًا لضغط دليل داخل تطبيقات بايثون.

كيف تضغط دليلًا باستخدام مكتبة 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.")

التحكم في مستوى الضغط عبر واجهة برمجة التطبيقات في بايثون

توفر مكتبة Pyminizip المفتوحة المصدر للغة بايثون التحكم في مستوى الضغط، مما يسمح للمستخدمين بالموازنة بين سرعات الضغط وحجم الملف. يؤدي المستوى الأقل إلى ضغط أسرع مع أحجام ناتجة أكبر، بينما يوفر المستوى الأعلى ضغطًا أفضل على حساب السرعة. تجعل هذه المرونة Pyminizip قابلة للتكيف مع حالات الاستخدام المختلفة، من الأرشفة السريعة إلى تخزين الملفات بكفاءة. إليك مثال يوضح كيفية اختبار مستويات ضغط مختلفة داخل تطبيقات بايثون.

كيف تطبق مستويات ضغط مختلفة داخل تطبيقات 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}")

التكامل مع تطبيقات بايثون

نظرًا لبساطتها وسهولة استخدامها، يمكن دمج مكتبة Pyminizip بسهولة في تطبيقات بايثون التي تتطلب ضغط الملفات. تعمل بشكل خاص مع أدوات النسخ الاحتياطي، وأنظمة توزيع الملفات الآمنة، وتطبيقات الأرشفة التي تحتاج إلى حماية بكلمة مرور.

 عربي