Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tạo file zip trong Python (zipfile)

Tạo archive zip từ thư mục dùng zipfile.ZipFile mode 'w' (write) + ZIP_DEFLATED.

Code mẫu

import os
import zipfile

def zipdir(path, ziph):
    for root, dirs, files in os.walk(path):
        for file in files:
            filepath = os.path.join(root, file)
            arcname = os.path.relpath(filepath, start=path)
            ziph.write(filepath, arcname)

with zipfile.ZipFile('Zipped_file.zip', 'w', zipfile.ZIP_DEFLATED) as zipf:
    zipdir('./my_folder', zipf)

print("Đã tạo Zipped_file.zip")

Tạo zip từ list file tùy chọn

files_to_zip = ['file1.txt', 'data/file2.csv', 'image.png']
with zipfile.ZipFile('custom.zip', 'w', zipfile.ZIP_DEFLATED) as zf:
    for f in files_to_zip:
        zf.write(f, os.path.basename(f))  # chỉ lưu tên file, bỏ path

Thêm file vào zip đã có (append)

with zipfile.ZipFile('existing.zip', 'a', zipfile.ZIP_DEFLATED) as zf:
    zf.write('new_file.txt')