Hợp nhất nhiều tệp ZIP trong Python

Tệp ZIP là cách phổ biến để nén và lưu trữ nhiều tệp vào một vùng chứa duy nhất. Tuy nhiên, đôi khi bạn cần hợp nhất nhiều tệp ZIP vào một kho lưu trữ ZIP duy nhất. Điều này có thể đặc biệt hữu ích cho việc tổ chức và quản lý các tập tin của bạn. Vì vậy, trong bài đăng blog này, chúng ta sẽ khám phá cách hợp nhất nhiều tệp ZIP thành một ZIP duy nhất trong Python.

Thư viện Python để hợp nhất nhiều tệp ZIP

Aspose.ZIP for Python là một thư viện mạnh mẽ cho phép các nhà phát triển làm việc với các kho lưu trữ ZIP trong các ứng dụng Python. Nó cung cấp nhiều tính năng để tạo, thêm, trích xuất và thao tác nội dung tệp ZIP. Chúng tôi sẽ sử dụng thư viện này để hợp nhất nhiều tệp ZIP vào một kho lưu trữ ZIP duy nhất.

Bạn có thể tải xuống thư viện hoặc cài đặt nó từ PyPI.

> pip install aspose-zip

Hợp nhất nhiều tệp ZIP trong Python

Aspose.ZIP dành cho Python giúp việc hợp nhất nhiều kho lưu trữ ZIP trở nên đơn giản hơn. Bạn chỉ cần giải nén các tệp từ kho lưu trữ ZIP nguồn và thêm chúng vào ZIP đích. Chúng ta hãy xem các bước cần thiết để hợp nhất các tệp ZIP trong Python.

  • Đầu tiên, tải các tệp ZIP nguồn và đích bằng lớp Lưu trữ.
  • Sau đó, lặp qua các mục của ZIP nguồn bằng bộ sưu tập Archive.entries.
  • Trích xuất từng mục nhập từ ZIP nguồn vào đối tượng BytesIO bằng phương thức Archive.entries[index].extract(BytesIO).
  • Thêm mục được trích xuất vào kho lưu trữ ZIP đích bằng phương thức Archive.createentry(string, BytesIO).
  • Cuối cùng, lưu kho lưu trữ ZIP đích bằng phương thức Archive.save(string).

Mẫu mã sau đây cho thấy cách hợp nhất hai tệp ZIP trong Python.

import aspose.zip as az
from io import BytesIO

# Tải các tệp ZIP nguồn và đích
with az.Archive("source.zip") as source:
    with az.Archive("target.zip") as target:
        
        # Lặp lại các mục ZIP
       for i in range(source.entries.length):
          
            # Thêm mục vào ZIP mục tiêu
            if not source.entries[i].is_directory:
                ms = BytesIO()
                source.entries[i].extract(ms)
                target.create_entry(source.entries[i].name, ms)
            else:
                target.create_entry(source.entries[i].name + "/", None)
        
        # Lưu ZIP mục tiêu
        target.save("merged.zip")

Thư viện ZIP Python - Nhận giấy phép miễn phí

Nhận giấy phép tạm thời miễn phí và làm việc với các kho lưu trữ ZIP mà không bị giới hạn về đánh giá.

Tài nguyên học tập

Tìm hiểu thêm về thư viện ZIP Python của chúng tôi bằng cách sử dụng các tài nguyên được cung cấp bên dưới:

Công cụ ZIP trực tuyến

Khám phá các công cụ trực tuyến miễn phí của chúng tôi để làm việc với kho lưu trữ ZIP, được cung cấp bởi Aspose.ZIP for Python.

Phần kết luận

Hợp nhất nhiều tệp ZIP vào một kho lưu trữ ZIP duy nhất có thể là một thao tác hữu ích khi xử lý một số lượng lớn tệp nén. Aspose.ZIP dành cho Python giúp công việc này trở nên đơn giản và hiệu quả. Bằng cách làm theo các bước được nêu trong bài đăng trên blog này, bạn có thể dễ dàng hợp nhất nhiều tệp ZIP vào một kho lưu trữ ZIP duy nhất trong Python. Chỉ cần cài đặt thư viện và dễ dàng hợp nhất các kho lưu trữ ZIP trong ứng dụng Python của bạn.

Xem thêm