هنالك طرق متعددة لإنشاء أرشيف 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)
المصدر