Python nén file và thư mục

Python nén file, thư mục

Python để nén file, thư mục (zip, tar, gzip, gztar,…) chúng ta có thể sử dụng module shutil. Bài viết chia sẻ mã nguồn thực hiện zip một thư mục và tìm hiểu cách sử dụng của hàm shutil.make_archive

Mã nguồn Zip thư mục

Tìm hiểu hàm shutil.make_archive

shutil module thực hiện các tác vụ cấp cao với file và tập các file. Ngoài ra, shutil module còn  hỗ trợ các phương thúc để sao chép, sửa, xóa file và nén file. Tham khảo chi tiết tại đây

shutil.make_archive là tiện ích để tạo, nén file. Phương thức này được xây dựng dựa trên module zipfile và tarfile

Cách sử dụng shutil.make_archive

shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]])

base_name là tên của file nén (sẽ được tạo ra) gồm cả đường dẫn (lưu ý: không gồm phần đuôi file – extension).

format là định dạng của file nén. Các định dạng được hỗ trợ là

  • zip: ZIP file (Nếu module zlib được hỗ trợ).
  • tar: uncompressed tar file.
  • gztar: (Nếu module zlib được hỗ trợ).
  • bztar:  (Nếu module bz2 được hỗ trợ).
  • xztar:  (Nếu module lzma được hỗ trợ).

root_dir là đường dẫn mà lưu file nén (file kết quả)

base_dir là đường dẫn nơi mà bắt đầu nén

root_dir và base_dir có đường dẫn mặc định là đường dẫn hiện tại – current directory

Nếu dry_run là true thì file nén không được tạo nhưng trên thực tế hoạt động vẫn được thực hiện và chỉ lưu lại log.

owner and group được sử dụng khi tạo file nén. Mặc định là user, group hiện tại

logger trong trường hợp bạn sử dụng log.

verbose là tham số không sử dụng

Ví dụ về sử dụng module nén file

 

Tham khảo bài viết khác

2 Replies to “Python nén file, thư mục”

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *