Tệp zip trong Python ở đâu?

ZIP là một định dạng tệp lưu trữ được sử dụng để nén dữ liệu không mất dữ liệu. Một hoặc nhiều thư mục hoặc tệp được sử dụng để tạo tệp ZIP. ZIP hỗ trợ nhiều thuật toán nén, DEFLATE là thuật toán phổ biến nhất. Tệp ZIP có. zip dưới dạng tiện ích mở rộng. Trong bài viết này, chúng ta sẽ thảo luận về cách tạo tệp Zip bằng Python

Tạo tệp ZIP không nén bằng Python

Các tệp ZIP không nén không làm giảm kích thước của thư mục gốc. Vì không nén nên chia sẻ các tệp ZIP không nén qua mạng không có lợi thế so với chia sẻ tệp gốc

Sử dụng cửa chớp. make_archive để tạo tệp Zip

Python có một thư viện tiêu chuẩn Shutil có thể được sử dụng để tạo các tệp ZIP không nén. Phương pháp tạo tệp ZIP này chỉ nên được sử dụng để sắp xếp nhiều tệp trong một tệp

cú pháp

Sau đây là cú pháp của shutdown. make_archive −

shutil.make_archive(‘output file name’, ‘zip’, ‘directory name’)

Ví dụ

Sau đây là một ví dụ để tạo tệp ZIP bằng cách sử dụng Shutil. make_archive −

đầu ra

Sau đây là đầu ra của đoạn mã trên -

E:\Zipped file.zip

Tạo tệp ZIP nén bằng Python

Các tệp ZIP được nén làm giảm kích thước của thư mục gốc bằng cách áp dụng thuật toán nén. Các tệp ZIP được nén giúp chia sẻ tệp nhanh hơn qua mạng vì kích thước của tệp ZIP nhỏ hơn đáng kể so với tệp gốc

Thư viện zipfile trong python cho phép tạo các tệp ZIP được nén bằng các phương pháp khác nhau

Tạo tệp ZIP từ nhiều tệp

Trong phương pháp này, ZipFile() tạo một tệp ZIP trong đó các tệp sẽ được nén được thêm vào. Điều này đạt được bằng cách tạo đối tượng của ZipFile bằng cách sử dụng từ khóa và sau đó ghi các tệp bằng cách sử dụng. viết phương pháp

Ví dụ

Sau đây là một ví dụ để tạo tệp ZIP bằng nhiều tệp -

đầu ra

Sau đây là đầu ra của đoạn mã trên -

ZIP file created

Tạo tệp ZIP từ toàn bộ thư mục

Trong phương pháp này, một vòng lặp for được sử dụng để duyệt qua toàn bộ thư mục và sau đó thêm tất cả các tệp có trong thư mục vào tệp ZIP được tạo bằng ZipFile

Ví dụ

Sau đây là một ví dụ để tạo tệp ZIP từ toàn bộ thư mục -

đầu ra

Sau đây là đầu ra của đoạn mã trên -

ZIP file created

Tạo tệp ZIP từ các tệp cụ thể trong một thư mục

Trong phương pháp này, hàm lambda được sử dụng để lọc các tệp có phần mở rộng cụ thể sẽ được thêm vào tệp ZIP. Hàm lambda được truyền dưới dạng tham số cho một hàm trong đó các tệp được lọc dựa trên tiện ích mở rộng

Mô-đun zipfile trong Python cung cấp cách nén các tệp và thư mục thành một tệp zip duy nhất. Điều này hữu ích để giảm kích thước tệp và thư mục mà bạn muốn chia sẻ hoặc chuyển

Trong hướng dẫn này, bạn sẽ khám phá cách nén tệp và thư mục bằng Python bằng cách sử dụng mô-đun zipfile. Cũng như nén tệp và thư mục thành tệp zip, mô-đun zipfile cũng có thể được sử dụng để giải nén tệp trong Python

Nhập các mô-đun

Để bắt đầu, hãy mở tập lệnh Python hoặc sổ ghi chép Jupyter và nhập mô-đun zipfile và mô-đun toàn cầu. Cả hai mô-đun này đều là một phần của thư viện chuẩn Python và không cần cài đặt riêng. Mô-đun toàn cầu được sử dụng để tìm các tệp và thư mục khớp với một mẫu, trong khi mô-đun zipfile được sử dụng để tạo và giải nén các tệp zip

Sử dụng zipfile để nén một tệp

Để nén một tệp vào kho lưu trữ tệp zip, chúng ta cần gọi lớp ZipFile và chuyển tên của tệp zip làm đối số. Sau đó, chúng tôi có thể sử dụng phương pháp write() để thêm tệp vào tệp zip. Phương thức write() lấy tên của tệp để thêm làm đối số. Ví dụ sau nén tệp có tên file1.csv và lưu với tên file1.zip

with zipfile.ZipFile('file1.zip', 'w') as f:
    f.write('file1.csv')

Sử dụng zipfile để nén tất cả các tệp có hậu tố nhất định

Bằng cách sử dụng mô-đun toàn cầu, chúng tôi có thể tìm thấy tất cả các tệp có hậu tố nhất định và sau đó nén chúng thành một tệp zip duy nhất. Ví dụ sau tìm tất cả các tệp có hậu tố .csv và sau đó nén chúng thành một tệp zip có tên là

"""
Use zipfile to compress all files with the suffix .csv into a zip called data.zip
"""

with zipfile.ZipFile('data.zip', 'w') as f:
    for file in glob.glob('*.csv'):
        f.write(file)
0

"""
Use zipfile to compress all files with the suffix .csv into a zip called data.zip
"""

with zipfile.ZipFile('data.zip', 'w') as f:
    for file in glob.glob('*.csv'):
        f.write(file)

Sử dụng zipfile để nén một thư mục

Để nén tất cả các tệp trong một thư mục thành một tệp zip, chúng ta có thể sử dụng lại mô-đun toàn cầu. Chúng tôi sẽ chuyển tên thư mục này mà chúng tôi muốn nén thành một tệp nén và sau đó là ký tự đại diện dấu hoa thị để làm cho nó bao gồm tất cả các tệp được tìm thấy trong đó. Sau đó, chúng tôi sẽ sử dụng phương pháp write() để thêm từng tệp vào tệp zip

"""
Use zipfile to compress directory1 into a zip called directory1.zip
"""

with zipfile.ZipFile('directory1.zip', 'w') as f:
    for file in glob.glob('directory1/*'):
        f.write(file)

Sử dụng zipfile để nén một số thư mục

Chúng tôi có thể sử dụng một cách tiếp cận tương tự để nén một số thư mục vào một tệp zip duy nhất. Ví dụ sau đây nén các thư mục

"""
Use zipfile to compress all files with the suffix .csv into a zip called data.zip
"""

with zipfile.ZipFile('data.zip', 'w') as f:
    for file in glob.glob('*.csv'):
        f.write(file)
2 và
"""
Use zipfile to compress all files with the suffix .csv into a zip called data.zip
"""

with zipfile.ZipFile('data.zip', 'w') as f:
    for file in glob.glob('*.csv'):
        f.write(file)
3 thành một tệp zip có tên là
"""
Use zipfile to compress all files with the suffix .csv into a zip called data.zip
"""

with zipfile.ZipFile('data.zip', 'w') as f:
    for file in glob.glob('*.csv'):
        f.write(file)
4

"""
Use zipfile to compress directory1 and directory2 into a zip called directory1-and-2.zip
"""

with zipfile.ZipFile('directory1-and-2.zip', 'w') as f:
    for file in glob.glob('directory1/*') + glob.glob('directory2/*'):
        f.write(file)

Sử dụng zipfile để nén tất cả các tệp trong thư mục hiện tại

Cuối cùng, chúng ta có thể sử dụng mô-đun toàn cầu để tìm tất cả các tệp trong thư mục hiện tại và sau đó nén chúng thành tệp zip. Ví dụ sau nén tất cả các tệp trong thư mục hiện tại vào một tệp zip có tên

"""
Use zipfile to compress all files with the suffix .csv into a zip called data.zip
"""

with zipfile.ZipFile('data.zip', 'w') as f:
    for file in glob.glob('*.csv'):
        f.write(file)
5

Tệp ZIP của tôi nằm ở đâu?

Nếu bạn đã tải xuống tệp ZIP từ internet hoặc dưới dạng tệp đính kèm email, bạn có thể tìm thấy tệp đó trong thư mục Tải xuống trong Drive hệ thống của bạn . Nhấp chuột phải vào tệp ZIP và chọn “Trích xuất tất cả…” Khi bạn chọn “Trích xuất tất cả”, bạn sẽ nhận được một menu bật lên mới. Trong menu bật lên, chọn một vị trí để giải nén các tệp.

Tệp zip trong Python là gì?

Tệp zip của Python là mô-đun thư viện chuẩn dùng để thao tác với các tệp ZIP . Định dạng tệp này là một tiêu chuẩn công nghiệp được áp dụng rộng rãi khi lưu trữ và nén dữ liệu kỹ thuật số. Bạn có thể sử dụng nó để đóng gói một số tệp liên quan lại với nhau.

Làm cách nào để tạo tệp zip trong Python?

nhập tắt hệ điều hành nhập. .
nhập hệ điều hành từ zipfile nhập ZipFile # Tạo đối tượng ZipFile bằng ZipFile('E. /Tệp nén. zip', 'w') dưới dạng zip_object. # Thêm file cần nén zip_object

Làm cách nào để đọc tệp zip trong gấu trúc Python?

Phương pháp #1. Sử dụng nén=zip trong gấu trúc. phương thức read_csv() . Bằng cách gán đối số nén trong phương thức read_csv() dưới dạng zip, trước tiên, gấu trúc sẽ giải nén zip và sau đó sẽ tạo khung dữ liệu từ tệp CSV có trong tệp nén.