• 0

كيف أنشئ نسخة مضغوطة zip من مجلد معين في بايثون؟

أريد إنشاء نسخة مضغوطة zip من مجلد معين عن طريق تطبيق أُبرمجه بلغة بايثون فما هي الطريقة الصحيحة لبرمجة ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك طرق متعددة لإنشاء أرشيف zip مضغوط من مجلد معين في لغة بايثون، فيمكنك على سبيل المثال استخدام مكتبة zipfile التي ستسهل عليك العملية.
الوثائق الرسمية لهذه المكتبة تُخبرك بالدوال الموجودة ووظيفتها لكنها لا تخبرك بكيفية استخدامها لضغط مجلد كامل، لذلك وجدت أنه من الأفضل شرح ذلك عن طريق الشيفرة البرمجية التالية:

#!/usr/bin/env python
import os
import zipfile

def zipdir(path, ziph):
    # ziph is zipfile handle
    for root, dirs, files in os.walk(path):
        for file in files:
            ziph.write(os.path.join(root, file))

if __name__ == '__main__':
    zipf = zipfile.ZipFile('Python.zip', 'w')
    zipdir('tmp/', zipf)
    zipf.close()

ومن الطرق السهلة أيضا هي عن طريق استخدام دالة make_archive من مكتبة shutil والتي تدعم كلا من صيغ zip و tar.
مثال على استخدام الدالة:

import shutil
shutil.make_archive(output_filename, 'zip', dir_name)

المصدر

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن