دمج TAR مع ZIP في بايثون

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

مكتبة بايثون لدمج TAR مع ZIP

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

يمكنك تنزيل المكتبة أو تثبيتها من PyPI.

> pip install aspose-zip

لماذا دمج TAR مع ZIP؟

قبل أن نتعمق في التفاصيل الفنية، دعنا نناقش بإيجاز سبب رغبتك في دمج TAR مع ZIP. يتمتع كل من TAR وZIP بمزايا فريدة:

  • TAR: TAR هو تنسيق أرشفة ملفات شائع الاستخدام في أنظمة Unix وLinux. إنه مثالي لتجميع ملفات وأدلة متعددة في ملف واحد دون ضغط. غالبًا ما تُستخدم أرشيفات TAR للنسخ الاحتياطية وتجميع الملفات للتوزيع.

  • ZIP: ZIP هو تنسيق ضغط مستخدم على نطاق واسع لا يقوم بتجميع الملفات والأدلة فحسب، بل يضغطها أيضًا لتقليل مساحة التخزين وتسريع عمليات نقل الملفات. يتم دعم ZIP على منصات متعددة ومتوافق مع أدوات الأرشفة المختلفة.

يمكن أن يكون دمج TAR مع ZIP مفيدًا في السيناريوهات التي تريد فيها الحفاظ على بنية الدليل لملفات TAR مع الحصول على فوائد الضغط الخاصة بـ ZIP.

دمج TAR مع ZIP في بايثون

فيما يلي خطوات دمج TAR مع ZIP في Python.

  • أولاً، قم بتحميل TAR باستخدام فئة TarArchive.
  • ثم قم بتحميل ملف ZIP باستخدام فئة الأرشيف.
  • بعد ذلك، قم بالتمرير عبر إدخالات تقرير التقييم الثالث باستخدام مجموعة Archive.entries.
  • قم باستخراج كل إدخال من TAR إلى كائن BytesIO باستخدام طريقة Archive.entries[index].extract(BytesIO).
  • أضف الإدخال المستخرج إلى أرشيف ZIP باستخدام طريقة Archive.createentry(string, BytesIO).
  • أخيرًا، احفظ أرشيف ZIP باستخدام طريقة Archive.save(string).

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

import aspose.zip as az
from io import BytesIO

# قم بتحميل ملف TAR
with az.tar.TarArchive("source.tar") as source:
  
    # تحميل ملف مضغوط
    with az.Archive("target.zip") as target:
      
        # قم بالمرور عبر إدخالات TAR وأضفها إلى ZIP
       for i in range(source.entries.length):
            if not source.entries[i].is_directory:
                ms = BytesIO()
                source.entries[i].extract(ms)
                target.create_entry(source.entries[i].name, ms)
            else:
                target.create_entry(source.entries[i].name + "/", None)
        
        # حفظ أرشيف ZIP
        target.save("merged_tar_zip.zip")

مكتبة Python ZIP - احصل على ترخيص مجاني

احصل على ترخيص مؤقت مجاني واعمل مع العديد من تنسيقات الأرشيف دون قيود التقييم.

مصادر التعلم

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

أدوات ZIP عبر الإنترنت

استخدم أدواتنا المجانية عبر الإنترنت للعمل مع الأرشيف، والتي يتم تشغيلها بواسطة Aspose.ZIP for Python.

خاتمة

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

أنظر أيضا