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.

Các kiểu dữ liệu trong C ( int - float - double - char ...)
Thuật toán tìm ước chung lớn nhất trong C/C++
Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)
ComboBox - ListBox trong lập trình C# winforms
Random trong Python: Tạo số random ngẫu nhiên
Lệnh cin và cout trong C++
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng