Python Tệp ZIP có ví dụ
Python cho phép bạn tạo file zip/tar nhanh chóng.
Lệnh sau sẽ nén toàn bộ thư mục
shutil.make_archive(output_filename, 'zip', dir_name)
Lệnh sau cho phép bạn kiểm soát các tập tin bạn muốn lưu trữ
ZipFile.write(filename)
Dưới đây là các bước để tạo Tệp Zip trong Python
Bước 1) Để tạo một tập tin lưu trữ từ Python, hãy đảm bảo rằng bạn có câu lệnh nhập chính xác và theo thứ tự. Đây là câu lệnh nhập cho kho lưu trữ from shutil import make_archive
Giải thích mã
- Nhập lớp make_archive từ mô-đun shutil
- Sử dụng chức năng chia nhỏ để tách thư mục và tên file từ đường dẫn đến vị trí của file văn bản (guru99)
- Sau đó chúng ta gọi mô-đun “shutil.make_archive(“guru99 archive, “zip”, root_dir)” để tạo tệp lưu trữ, tệp này sẽ ở định dạng zip
- Sau đó, chúng tôi chuyển vào thư mục gốc của những thứ chúng tôi muốn nén lại. Vì vậy mọi thứ trong thư mục sẽ được nén
- Khi bạn chạy mã, bạn có thể thấy tệp zip lưu trữ được tạo ở phía bên phải của bảng điều khiển.
Bước 2) Sau khi tệp lưu trữ của bạn được tạo, bạn có thể nhấp chuột phải vào tệp và chọn hệ điều hành, nó sẽ hiển thị các tệp lưu trữ của bạn trong đó như hình dưới đây
Bây giờ tệp archive.zip của bạn sẽ xuất hiện trên hệ điều hành của bạn (Windows Explorer)
Bước 3) Khi bạn nhấp đúp vào tệp, bạn sẽ thấy danh sách tất cả các tệp trong đó.
Bước 4) In Python chúng ta có thể kiểm soát tốt hơn đối với archive vì chúng ta có thể xác định file cụ thể nào sẽ được đưa vào archive. Trong trường hợp của chúng ta, chúng ta sẽ đưa hai file vào archive “guru99.txt” và “guru99.txt.bak”.
Giải thích mã
- Nhập lớp Zipfile từ tệp zip Python mô-đun. Mô-đun này cung cấp toàn quyền kiểm soát việc tạo tệp zip
- Chúng tôi tạo một Zipfile mới có tên ( “testguru99.zip, “w”)
- Tạo lớp Zipfile mới cần phải pass vì là file nên cần ghi thông tin vào file dưới dạng newzip
- Chúng tôi đã sử dụng biến “newzip” để chỉ tệp zip mà chúng tôi đã tạo
- Sử dụng hàm write trên biến “newzip”, chúng tôi thêm các tệp “guru99.txt” và “guru99.txt.bak” vào kho lưu trữ
Khi thực thi mã, bạn có thể thấy tệp được tạo ở phía bên phải của bảng điều khiển có tên “guru99.zip”
Chú thích: Ở đây chúng tôi không đưa ra bất kỳ lệnh nào để “đóng” tệp như “newzip.close” vì chúng tôi sử dụng khóa phạm vi “Với”, vì vậy khi chương trình nằm ngoài phạm vi này, tệp sẽ được dọn sạch và tự động đóng.
Bước 5) Khi bạn -> nhấp chuột phải vào tệp (testguru99.zip) và -> chọn hệ điều hành của bạn (Windows Explorer), nó sẽ hiển thị các tập tin lưu trữ trong thư mục như hình dưới đây.
Khi bạn nhấp đúp vào tệp “testguru99.zip”, một cửa sổ khác sẽ mở ra và hiển thị các tệp tin có trong đó.
Đây là mã hoàn chỉnh
Python 2 Ví dụ
import os import shutil from zipfile import ZipFile from os import path from shutil import make_archive def main(): # Check if file exists if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); # rename the original file os.rename("career.guru99.txt","guru99.txt") # now put things into a ZIP archive root_dir,tail = path.split(src) shutil.make_archive("guru99 archive", "zip", root_dir) # more fine-grained control over ZIP files with ZipFile("testguru99.zip","w") as newzip: newzip.write("guru99.txt") newzip.write("guru99.txt.bak") if __name__== "__main__": main()
Python 3 Ví dụ
import os import shutil from zipfile import ZipFile from os import path from shutil import make_archive # Check if file exists if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); # rename the original file os.rename("career.guru99.txt","guru99.txt") # now put things into a ZIP archive root_dir,tail = path.split(src) shutil.make_archive("guru99 archive","zip",root_dir) # more fine-grained control over ZIP files with ZipFile("testguru99.zip", "w") as newzip: newzip.write("guru99.txt") newzip.write("guru99.txt.bak")
Tổng kết
- Để nén toàn bộ thư mục, hãy sử dụng lệnh “shutil.make_archive(“name”,”zip”, root_dir)
- Để chọn các tập tin cần nén, hãy sử dụng lệnh “ZipFile.write(filename)”