Nén nhiều mục vào một kho lưu trữ duy nhất

Nên sử dụng phương thức create_entry lưu trữ nhiều mục vào một kho lưu trữ duy nhất cho mỗi tệp được nén. Chúng tôi sẽ sử dụng cài đặt nén mặc định cho từng định dạng bên dưới.

Cách ZIP một số tệp bằng Python.Net

Phương thức create_entry được sử dụng để thêm từng tệp vào kho lưu trữ nén. Trong các ví dụ này, chúng tôi không chỉ định bất kỳ cài đặt nén nào, do đó, cài đặt mặc định cho định dạng đã chọn sẽ được áp dụng, đó là thuật toán Deflate.

    with zp.Archive() as archive:
        archive.create_entry("first.bin", "data1.bin")
        archive.create_entry("second.bin", "data2.bin")
        # Add as many entries as you need 
        archive.save("archive.zip")

Cách thêm tệp vào kho lưu trữ 7z

Để thêm nhiều tệp đính kèm vào một kho lưu trữ 7zip, cần sử dụng lớp SevenZipArchive cùng với các phương thức create_entry và save. Mặc định là thuật toán LZMA.

    with zp.sevenzip.SevenZipArchive() as archive:
        archive.create_entry("first.bin", "data1.bin")
        archive.create_entry("second.bin", "data2.bin")
        # Add as many entries as you need 	
        archive.save("archive.7z")

Tạo tệp XAR

Để tạo file XAR bạn cần sử dụng thuật toán ZLib.

    with zp.xar.XarArchive() as archive:
        archive.create_entry("first.bin", "data1.bin")
        archive.create_entry("second.bin", "data2.bin")
        # Add as many entries as you need 	
        archive.save("archive.xar")

Ví dụ này và các ví dụ trước lần lượt tạo các kho lưu trữ Zip, 7Zip và XAR. Ví dụ về mã sẽ mở trình quản lý ngữ cảnh để tạo một kho lưu trữ ở định dạng thích hợp và thêm các tệp vào kho lưu trữ với các tên được chỉ định. Sau khi tất cả các tệp đã được thêm vào kho lưu trữ, nó sẽ được lưu với tên được chỉ định trong phương thức archive.save.

Lưu trữ nhiều tập tin mà không cần nén

Tạo kho lưu trữ TAR với tệp hoặc tệp được nối thêm

Cách tiếp cận tương tự mà chúng ta có thể sử dụng với các định dạng TAR và CPIO:

    with zp.tar.TarArchive() as archive:
        archive.create_entry("first.bin", "data1.bin")
        archive.create_entry("second.bin", "data2.bin")
        # Add as many entries as you need 
        archive.save("archive.tar")

Nối các tệp vào kho lưu trữ CPIO

Bạn có thể sử dụng CpioArchive thay vì TarArchive. Cách sử dụng hoàn toàn giống với ví dụ trước:

    with zp.cpio.CpioArchive() as archive:
        archive.create_entry("first.bin", "data1.bin")
        archive.create_entry("second.bin", "data2.bin")
        # Add as many entries as you need 
        archive.save("archive.cpio")

Các ví dụ về mã được cung cấp minh họa cách sử dụng thư viện aspose.zip, bạn có thể lưu trữ số lượng tệp bất kỳ trong kho lưu trữ một cách dễ dàng và hiệu quả. Cách tiếp cận này đảm bảo tốc độ hoạt động và tăng sự thuận tiện khi làm việc với các tệp. Nhờ đó, bạn sẽ có thể nhanh chóng tạo các kho lưu trữ ở định dạng TAR và CPIO.

Các định dạng chỉ nén không có mục nhập

Cách thêm tệp vào kho lưu trữ .GZ

Với một số định dạng nén, chúng tôi không thể sử dụng nhiều mục nhập, vì vậy chúng tôi nên sử dụng phương pháp nguồn đơn, như được mô tả bên dưới:

    with io.FileIO("alice29.txt") as source:
        with zp.gzip.GzipArchive() as archive:
            archive.set_source(source)
            archive.save("archive.gz")

Các ví dụ về mã được cung cấp minh họa cách sử dụng thư viện aspose.zip, bạn có thể lưu trữ dễ dàng và hiệu quả bất kỳ số lượng tệp nào trong kho lưu trữ không nén. Cách tiếp cận này đảm bảo tốc độ hoạt động và tăng sự thuận tiện khi làm việc với các tệp. Nhờ đó, bạn sẽ có thể nhanh chóng tạo các kho lưu trữ ở các định dạng ZIP, 7Z, TAR, XAR và CPIO, rất hữu ích cho việc sắp xếp và truyền tệp trong nhiều tình huống khác nhau.

Nén tập tin vào LZ

    with io.FileIO("alice29.txt") as source:
        with zp.lzip.LzipArchive() as archive:
            archive.set_source(source)
            archive.save("archive.lz")

Trong cả hai ví dụ, mã sẽ mở tệp alice29.txt để đọc, tạo kho lưu trữ ở định dạng thích hợp, thêm tệp vào kho lưu trữ và lưu kho lưu trữ với phần mở rộng tệp thích hợp.

Gói TAR.GZ

Chúng ta có thể sử dụng phương pháp save_gzipped để kết hợp các định dạng chỉ lưu trữ và chỉ nén. Xem ví dụ về tar.gz bên dưới:

    with zp.tar.TarArchive() as archive:
        archive.create_entry("first.bin", "data1.bin")
        archive.create_entry("second.bin", "data2.bin")
        # Add as many entries as you need 
        archive.save_gzipped("archive.tar.gz")

Mã này minh họa việc tạo một kho lưu trữ TAR nén có tên archive.tar.gz. Nó sử dụng trình quản lý bối cảnh để tạo kho lưu trữ một cách an toàn và thêm hai tệp data1.bin và data2.bin, đổi tên chúng thành First.bin và Second.bin trong kho lưu trữ. Cách tiếp cận này đơn giản hóa việc tạo các kho lưu trữ TAR nén trong khi vẫn duy trì cấu trúc và nội dung tệp gốc.

TAR tạo kho lưu trữ BZ2

Có một cách khác để kết hợp các định dạng – chúng ta có thể sử dụng tuần tự các thuật toán nén khác nhau. Trong ví dụ bên dưới, chúng tôi sử dụng TAR trước, sau đó là BZIP2:

    with zp.tar.TarArchive() as tar:
        tar.create_entry("first.bin", "data1.bin")
        tar.create_entry("second.bin", "data2.bin")
        with zp.bzip2.Bzip2Archive() as archive:
            archive.set_source(tar)
            archive.save("archive.tar.bz2")

Mã này đạt được chức năng tương tự nhưng với cách tiếp cận khác. Nó sử dụng phương thức tar.create_entry để xây dựng các mục trong kho lưu trữ. Do đó, kho lưu trữ được ghi ở định dạng tar.bz2 bằng phương thức zp.bzip2.Bzip2Archive.

Aspose.ZIP được hỗ trợ khác cho các tính năng API Python.Net

Với thư viện Aspose.ZIP trong Python.Net, bạn có thể xử lý liền mạch các tác vụ khác nhau liên quan đến tài liệu tệp ZIP. Cho dù bạn cần chuyển đổi định dạng, hợp nhất tệp, chỉnh sửa nội dung hay trích xuất dữ liệu, Aspose.ZIP đều cung cấp chức năng toàn diện để hợp lý hóa quy trình làm việc của bạn và nâng cao năng suất.

  

Support and Learning Resources

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: