Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Làm việc với file ZIP trong Python
Định dạng ZIP thường được sử dụng để lưu trữ và nén file tin mà không mất dữ liệu, tương thích trên nhiều nền tảng. Python hỗ trợ tích hợp thao tác với file ZIP qua thư viện zipfile
.
Trong bài viết này, chúng ta sẽ tìm hiểu cách đọc, ghi, trích xuất và liệt kê nội dung file ZIP trong Python.
Liệt kê nội dung file ZIP trong Python
Thư viện zipfile
trong Python cho phép chúng ta thao tác với file ZIP. Khi mở file , sử dụng Context Manager để tự động đóng file sau khi hoàn tất thao tác:
import zipfile with zipfile.ZipFile("./data.zip") as zip: print("Dạng bảng:") zip.printdir() # Hiển thị các file dưới dạng bảng print("\nDạng danh sách:") print(zip.namelist()) # Danh sách tên file print("\nDanh sách đối tượng ZipInfo:") print(zip.infolist()) # Danh sách các file dưới dạng đối tượng ZipInfo
Kết quả:
Bài viết này được đăng tại [free tuts .net]
Dạng bảng: Tên file Thời gian chỉnh sửa Kích thước data/ 2022-04-24 19:00:16 0 data/assets/ 2022-04-24 19:00:24 0 data/assets/index.txt 2022-04-24 19:01:12 11 data/configurations.txt 2022-04-24 18:52:26 0 data/sample.txt 2022-04-24 18:52:16 0
Đọc file cụ thể trong ZIP trong Python
Để đọc file cụ thể trong ZIP, sử dụng phương thức open()
:
import zipfile with zipfile.ZipFile("./data.zip") as zip: with zip.open("data/assets/index.txt") as fp: print(fp.read().decode())
Kết quả:
hello-world
Thêm file vào ZIP trong Python
Để thêm file vào ZIP mà không ghi đè toàn bộ, mở file ở chế độ "a" (append):
import zipfile with zipfile.ZipFile("./data.zip", "a") as zip: zip.write("app.py", arcname="python/app.py")
Ở đây, arcname
giúp đặt đường dẫn file bên trong file ZIP.
Trích xuất nội dung
Để trích xuất tất cả nội dung, mở file ở chế độ đọc và sử dụng extractall()
:
import zipfile with zipfile.ZipFile("./data.zip", "r") as zip: zip.extractall() # Trích xuất vào thư mục hiện tại
Trích xuất file ZIP có mật khẩu:
import zipfile pswd = "matkhau123" with zipfile.ZipFile("./data.zip", "r") as zip: zip.extractall(pwd=bytes(pswd, 'utf-8'))
Kết bài
Như vậy, qua các ví dụ trên, chúng ta đã nắm được các thao tác cơ bản để làm việc với file ZIP trong Python, bao gồm liệt kê nội dung, đọc, thêm, và trích xuất file , kể cả với các file ZIP được bảo vệ bằng mật khẩu. Sử dụng thư viện zipfile
, việc quản lý và xử lý file ZIP trở nên đơn giản và tiện lợi hơn rất nhiều trong Python, giúp tối ưu hóa quy trình làm việc với dữ liệu nén một cách hiệu quả và nhanh chóng.