إنشاء ملف ZIP في بايثون

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

مكتبة بايثون ZIP

Aspose.ZIP for Python هي مكتبة قوية ومتعددة الاستخدامات توفر للمطورين مجموعة شاملة من الأدوات للعمل مع ملفات ZIP في تطبيقات Python. بفضل واجهة برمجة التطبيقات (API) البديهية ومجموعة واسعة من الميزات، يسهّل Aspose.ZIP for Python إنشاء أرشيفات ZIP واستخراجها وإدارتها بكفاءة. يمكنك تثبيت المكتبة من PyPI باستخدام الأمر التالي.

> pip install aspose-zip

إنشاء أرشيف ZIP في بايثون

فيما يلي خطوات ضغط ملف عن طريق إضافته إلى أرشيف ZIP في Python.

  • أولاً، قم بإنشاء أرشيف ZIP جديد باستخدام فئة الأرشيف.
  • ثم قم بإضافة الملف إلى أرشيف ZIP باستخدام طريقة Archive.createentry().
  • أخيرًا، احفظ أرشيف ZIP باستخدام طريقة Archive.save().

يوضح نموذج التعليمات البرمجية التالي كيفية إضافة ملف إلى أرشيف ZIP في Python.

import aspose.zip as az

# إنشاء وحفظ الأرشيف بملف واحد
with az.Archive() as archive:
    # إضافة الملف إلى الأرشيف
    archive.create_entry("file", "file.txt")

    # إنشاء وحفظ أرشيف مضغوط
    archive.save('my_archive.zip')

إضافة ملفات متعددة إلى أرشيف ZIP في بايثون

في القسم السابق، أوضحنا كيفية إدراج ملف واحد في أرشيف ZIP. ومع ذلك، إذا كان لديك أكثر من ملف واحد، فيمكنك استدعاء الأسلوب Archive.createentry() بشكل متكرر.

يوضح نموذج التعليمات البرمجية التالي كيفية إدراج ملفات متعددة في أرشيف ZIP في Python.

import aspose.zip as az

# إنشاء وحفظ الأرشيف مع ملفات متعددة
with az.Archive() as archive:
    # أضف الملف الأول
    archive.create_entry("file", "file.txt")

    # أضف الملف الثاني
    archive.create_entry("file2", "file2.txt")

    # إنشاء وحفظ أرشيف مضغوط
    archive.save('my_archive.zip')

إضافة مجلدات إلى أرشيف ZIP في بايثون

ليس فقط الملفات ولكن يمكنك أيضًا ضغط المجلدات في أرشيفات ZIP. لهذا، لا تحتاج إلى إضافة كل ملف في المجلد إلى الأرشيف واحدًا تلو الآخر. ما عليك سوى الاتصال بالطريقة Archive.createentries()، وتمرير اسم المجلد، وهذا كل شيء. لتفهمك، فيما يلي خطوات أرشفة مجلد كامل.

  • أولاً، قم بإنشاء أرشيف جديد باستخدام فئة الأرشيف.
  • ثم قم بإضافة مجلد إلى أرشيف ZIP باستخدام طريقة Archive.createentries(foldername).
  • أخيرًا، احفظ أرشيف ZIP باستخدام طريقة Archive.save().

يوضح نموذج التعليمات البرمجية التالي كيفية إضافة مجلد إلى ZIP في Python.

import aspose.zip as az

# إنشاء أرشيف من مجلد
with az.Archive() as archive:
    # إضافة مجلد إلى الرمز البريدي
    archive.create_entries("files")

    # إنشاء وحفظ أرشيف مضغوط
    archive.save('my_archive_from_folder.zip')

إنشاء ملف ZIP محمي بكلمة مرور في Python

في حالات مختلفة، مثل أثناء مشاركة الأرشيف على الإنترنت، يتعين عليك حماية الملف المضغوط بكلمة مرور. يعد إنشاء أرشيف ZIP محمي بكلمة مرور باستخدام Aspose.ZIP for Python عملية مباشرة توفر أمانًا محسنًا لملفاتك المضغوطة. لذلك دعونا نرى كيفية حماية أرشيف ZIP بكلمة مرور في Python.

  • أولاً، قم بإنشاء كائن من فئة ArchiveEntrySettings وقم بتهيئته باستخدام كلمة المرور المطلوبة.
  • ثم قم بإنشاء كائن من فئة الأرشيف وقم بتهيئته باستخدام كائن ArchiveEntrySettings الذي قمت بإنشائه أعلاه.
  • بعد ذلك، أضف الملفات والمجلدات إلى أرشيف ZIP.
  • أخيرًا، احفظ أرشيف ZIP باستخدام طريقة Archive.save().

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

import aspose.zip as az

# إنشاء إعدادات الأرشيف وتعيين كلمة المرور
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))

# إنشاء وحفظ الأرشيف مع ملفات متعددة
with az.Archive(archive_settings) as archive:        
    # إضافة مجلد إلى الرمز البريدي
    archive.create_entries("files")

    # إنشاء وحفظ أرشيف مضغوط
    archive.save('protected_archive.zip')

تشفير أرشيف ZIP باستخدام تشفير AES

في المثال السابق، قمنا بتطبيق الإعدادات التقليدية لحماية أرشيف ZIP بكلمة مرور. ومع ذلك، يتيح لك Aspose.ZIP for Python استخدام تشفير AES لتشفير أرشيفات ZIP الخاصة بك. يمكنك استخدام طرق تشفير AES التالية:

  • ايه اي اس128
  • AES192
  • AES256

عملية تطبيق تشفير AES هي نفسها التي رأيتها في القسم السابق. والفرق الوحيد هو أنك ستستخدم الآن AesEcryptionSettings بدلاً من TraditionEncryptionSettings عند تحديد إعدادات الأرشيف. يوضح نموذج التعليمات البرمجية التالي كيفية تطبيق تشفير AES على أرشيفات ZIP في Python.

import aspose.zip as az

# إنشاء إعدادات الأرشيف وتعيين كلمة المرور
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))

# إنشاء وحفظ الأرشيف مع ملفات متعددة
with az.Archive(archive_settings) as archive:        
    # إضافة مجلد إلى الرمز البريدي
    archive.create_entries("files")

    # إنشاء وحفظ أرشيف مضغوط
    archive.save('protected_archive.zip')

ضبط وضع الضغط المتوازي

يتيح لك Aspose.ZIP for Python أيضًا تخصيص عملية أرشفة ZIP باستخدام إعدادات الضغط المتوازية. يخبر هذا التكوين واجهة برمجة التطبيقات بموعد تطبيق الضغط المتوازي. تتوفر أوضاع الضغط المتوازية التالية.

  • أبدًا - لا تقم بالضغط بشكل متوازٍ.
  • دائمًا - قم بالضغط بالتوازي (احذر من نفاد الذاكرة).
  • تلقائي - قرر ما إذا كنت تريد استخدام الضغط المتوازي أم لا على الإدخالات. قد يقوم هذا الخيار بضغط بعض الإدخالات بالتوازي فقط.

فيما يلي خطوات تطبيق الضغط المتوازي أثناء إنشاء أرشيف ZIP في Python.

  • أولاً، قم بإنشاء أرشيف جديد باستخدام فئة الأرشيف.
  • ثم قم بإضافة الملفات أو المجلدات إلى أرشيف ZIP (كما هو موضح في الأقسام السابقة).
  • قم بإنشاء مثيل لفئة ParallelOptions وقم بتعيين خاصية Parallelcompressinmemory إلى قيمة ParallelCompressionMode المطلوبة.
  • قم بإنشاء مثيل لفئة ArchiveSaveOptions.
  • قم بتعيين كائن ParallelOptions إلى خاصية ArchiveSaveOptions.paralleloptions.
  • أخيرًا، احفظ أرشيف ZIP باستخدام طريقة Archive.save().

يوضح نموذج التعليمات البرمجية أدناه كيفية تطبيق الضغط المتوازي أثناء ضغط الملفات في بايثون.

# إنشاء وحفظ الأرشيف مع ملفات متعددة
import aspose.zip as az

with az.Archive() as archive:        
    # إضافة ملفات / مجلد إلى الرمز البريدي
    archive.create_entry("file", "file.txt")
    archive.create_entry("file2", "file2.txt")

    # إنشاء خيارات للضغط المتوازي
    parallelOptions = az.saving.ParallelOptions()
    parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS

    # إنشاء خيارات حفظ ZIP
    archiveSaveOptions = az.saving.ArchiveSaveOptions()

    archiveSaveOptions.parallel_options = parallelOptions
    archiveSaveOptions.archive_comment = "Files compressed with parallel compression."

    # إنشاء وحفظ أرشيف مضغوط
    archive.save('parallel_compression_archive.zip', archiveSaveOptions)

احصل على ترخيص مجاني

يمكنك الحصول على ترخيص مؤقت مجاني وضغط الملفات إلى أرشيف ZIP دون أي قيود على التقييم.

مكتبة بايثون ZIP - الموارد

يمكنك استكشاف المزيد حول مكتبة Python ZIP الخاصة بنا باستخدام الموارد التالية:

إنشاء أرشيفات ZIP عبر الإنترنت

جرّب تطبيق ضغط الملفات المجاني، والذي يتم تشغيله بواسطة Aspose.ZIP للغة Python.

خاتمة

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

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

أنظر أيضا