একটি ডিরেক্টরির জিপ আর্কাইভ তৈরি করতে zipfile মডিউল ব্যবহার করুন। os.walk ব্যবহার করে ডিরেক্টরি ট্রি ওয়াক করুন এবং সব ফাইলগুলো রিকার্সিভলি যোগ করুন।
উদাহরণ
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))
zipf = zipfile.ZipFile('Zipped_file.zip', 'w', zipfile.ZIP_DEFLATED)
zipdir('./my_folder', zipf)
zipf.close()
উপরের কোড my_folder-এর কনটেন্ট জিপ করে 'Zipped_file.zip' ফাইলে স্টোর করবে করেন্ট ডিরেক্টরিতে।
উন্নত সংস্করণ: with zipfile.ZipFile(...) as zipf: কনটেক্সট ম্যানেজার ব্যবহার করুন।