Tạo ZIP bằng Python

Kho lưu trữ ZIP nén và gộp nhiều tệp hoặc thư mục vào một vùng chứa hợp nhất. Kho lưu trữ ZIP không chỉ đóng gói các tệp và thư mục mà còn giữ lại siêu dữ liệu của chúng. Chúng chủ yếu giảm kích thước tệp để lưu trữ/truyền và tăng cường bảo mật thông qua mã hóa. Ngoài các công cụ nén tệp thông thường, các ứng dụng web và máy tính để bàn còn tích hợp chức năng nén và trích xuất tự động để hợp lý hóa các tác vụ như tải lên, tải xuống, chia sẻ và mã hóa tệp. Bài viết này trình bày một cách đơn giản để nén tệp hoặc thư mục và tạo kho lưu trữ ZIP bằng Python. Ngoài ra, nó còn đề cập đến cách tạo các kho lưu trữ ZIP được mã hóa và bảo vệ bằng mật khẩu bằng Python. Vì vậy, hãy đi sâu vào nó.

Thư viện ZIP của Python

Aspose.ZIP for Python là một thư viện mạnh mẽ và linh hoạt cung cấp cho các nhà phát triển một bộ công cụ toàn diện để làm việc với các tệp ZIP trong ứng dụng Python. Với API trực quan và nhiều tính năng, Aspose.ZIP dành cho Python giúp bạn dễ dàng tạo, trích xuất và quản lý các kho lưu trữ ZIP một cách hiệu quả. Bạn có thể cài đặt thư viện từ PyPI bằng lệnh sau.

> pip install aspose-zip

Tạo một kho lưu trữ ZIP bằng Python

Sau đây là các bước để nén tệp bằng cách thêm tệp đó vào kho lưu trữ ZIP trong Python.

  • Đầu tiên, tạo một kho lưu trữ ZIP mới bằng lớp Archive.
  • Sau đó, thêm tệp vào kho lưu trữ ZIP bằng phương thức Archive.createentry().
  • Cuối cùng, lưu kho lưu trữ ZIP bằng phương thức Archive.save().

Mẫu mã sau đây cho biết cách thêm tệp vào kho lưu trữ ZIP bằng Python.

import aspose.zip as az

# Tạo và lưu kho lưu trữ với một tệp duy nhất
with az.Archive() as archive:
    # Thêm tập tin vào kho lưu trữ
    archive.create_entry("file", "file.txt")

    # Tạo và lưu kho lưu trữ zip
    archive.save('my_archive.zip')

Thêm nhiều tệp vào kho lưu trữ ZIP bằng Python

Trong phần trước, chúng tôi đã trình bày cách chèn một tệp vào kho lưu trữ ZIP. Tuy nhiên, nếu bạn có nhiều hơn một tệp, bạn có thể gọi liên tục phương thức Archive.createentry().

Mẫu mã sau đây cho biết cách chèn nhiều tệp vào kho lưu trữ ZIP bằng Python.

import aspose.zip as az

# Tạo và lưu kho lưu trữ với nhiều tệp
with az.Archive() as archive:
    # Thêm tập tin đầu tiên
    archive.create_entry("file", "file.txt")

    # Thêm tập tin thứ hai
    archive.create_entry("file2", "file2.txt")

    # Tạo và lưu kho lưu trữ zip
    archive.save('my_archive.zip')

Thêm thư mục vào kho lưu trữ ZIP bằng Python

Không chỉ các tệp mà bạn còn có thể nén các thư mục vào kho lưu trữ ZIP. Để làm điều này, bạn không cần thêm từng tệp trong thư mục vào kho lưu trữ. Chỉ cần gọi phương thức Archive.createentries(), truyền tên thư mục và thế là xong. Để bạn hiểu, dưới đây là các bước lưu trữ một thư mục hoàn chỉnh.

  • Đầu tiên, tạo một kho lưu trữ mới bằng lớp Lưu trữ.
  • Sau đó, thêm thư mục vào kho lưu trữ ZIP bằng phương thức Archive.createentries(foldername).
  • Cuối cùng, lưu kho lưu trữ ZIP bằng phương thức Archive.save().

Mẫu mã sau đây cho biết cách thêm thư mục vào ZIP bằng Python.

import aspose.zip as az

# Tạo kho lưu trữ từ một thư mục
with az.Archive() as archive:
    # Thêm thư mục vào zip
    archive.create_entries("files")

    # Tạo và lưu kho lưu trữ zip
    archive.save('my_archive_from_folder.zip')

Tạo ZIP được bảo vệ bằng mật khẩu bằng Python

Trong nhiều trường hợp khác nhau, chẳng hạn như khi chia sẻ kho lưu trữ trên internet, bạn phải bảo vệ tệp ZIP bằng mật khẩu. Tạo kho lưu trữ ZIP được bảo vệ bằng mật khẩu bằng Aspose.ZIP for Python là một quy trình đơn giản giúp tăng cường bảo mật cho các tệp nén của bạn. Vì vậy, hãy xem cách bảo vệ kho lưu trữ ZIP bằng mật khẩu trong Python.

  • Đầu tiên, tạo một đối tượng của lớp ArchiveEntrySettings và khởi tạo nó bằng mật khẩu mong muốn.
  • Sau đó, tạo một đối tượng của lớp Archive và khởi tạo nó bằng đối tượng ArchiveEntrySettings mà bạn đã tạo ở trên.
  • Sau đó, thêm tệp và thư mục vào kho lưu trữ ZIP.
  • Cuối cùng, lưu kho lưu trữ ZIP bằng phương thức Archive.save().

Mẫu mã sau đây cho thấy cách tạo kho lưu trữ ZIP được bảo vệ bằng mật khẩu trong Python.

import aspose.zip as az

# Tạo cài đặt lưu trữ và đặt mật khẩu
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))

# Tạo và lưu kho lưu trữ với nhiều tệp
with az.Archive(archive_settings) as archive:        
    # Thêm thư mục vào zip
    archive.create_entries("files")

    # Tạo và lưu kho lưu trữ zip
    archive.save('protected_archive.zip')

Mã hóa kho lưu trữ ZIP bằng mã hóa AES

Trong ví dụ trước, chúng tôi đã áp dụng cài đặt truyền thống để bảo vệ kho lưu trữ ZIP bằng mật khẩu. Tuy nhiên, Aspose.ZIP for Python cho phép bạn sử dụng mã hóa AES để mã hóa kho lưu trữ ZIP của mình. Bạn có thể sử dụng các phương pháp mã hóa AES sau:

  • AES128
  • AES192
  • AES256

Quá trình áp dụng mã hóa AES giống như bạn đã thấy ở phần trước. Sự khác biệt duy nhất là bây giờ bạn sẽ sử dụng AesEcryptionSettings thay vì traditionalEncryptionSettings khi xác định cài đặt lưu trữ. Mẫu mã sau đây trình bày cách áp dụng mã hóa AES cho kho lưu trữ ZIP bằng Python.

import aspose.zip as az

# Tạo cài đặt lưu trữ và đặt mật khẩu
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))

# Tạo và lưu kho lưu trữ với nhiều tệp
with az.Archive(archive_settings) as archive:        
    # Thêm thư mục vào zip
    archive.create_entries("files")

    # Tạo và lưu kho lưu trữ zip
    archive.save('protected_archive.zip')

Đặt chế độ nén song song

Aspose.ZIP for Python cũng cho phép bạn tùy chỉnh quy trình lưu trữ ZIP bằng cách sử dụng cài đặt nén song song. Cấu hình này cho API biết thời điểm áp dụng tính năng nén song song. Có sẵn các chế độ nén song song sau đây.

  • Không bao giờ - Không nén song song.
  • Luôn luôn - Thực hiện nén song song (coi chừng hết bộ nhớ).
  • Tự động - Quyết định có sử dụng tính năng nén song song hay không đối với các mục nhập. Tùy chọn này chỉ có thể nén một số mục song song.

Sau đây là các bước để áp dụng nén song song trong khi tạo kho lưu trữ ZIP bằng Python.

  • Đầu tiên, tạo một kho lưu trữ mới bằng lớp Lưu trữ.
  • Sau đó, thêm tệp hoặc thư mục vào kho lưu trữ ZIP (như được hiển thị trong các phần trước).
  • Tạo một phiên bản của lớp ParallelOptions và đặt thuộc tính Parallelcompressinmemory thành giá trị ParallelCompressionMode mong muốn.
  • Tạo một thể hiện của lớp ArchiveSaveOptions.
  • Gán đối tượng ParallelOptions cho thuộc tính ArchiveSaveOptions.paralleloptions.
  • Cuối cùng, lưu kho lưu trữ ZIP bằng phương thức Archive.save().

Mẫu mã bên dưới cho thấy cách áp dụng tính năng nén song song trong khi nén tệp bằng Python.

# Tạo và lưu kho lưu trữ với nhiều tệp
import aspose.zip as az

with az.Archive() as archive:        
    # Thêm tập tin/thư mục vào zip
    archive.create_entry("file", "file.txt")
    archive.create_entry("file2", "file2.txt")

    # Tạo tùy chọn nén song song
    parallelOptions = az.saving.ParallelOptions()
    parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS

    # Tạo tùy chọn lưu ZIP
    archiveSaveOptions = az.saving.ArchiveSaveOptions()

    archiveSaveOptions.parallel_options = parallelOptions
    archiveSaveOptions.archive_comment = "Files compressed with parallel compression."

    # Tạo và lưu kho lưu trữ zip
    archive.save('parallel_compression_archive.zip', archiveSaveOptions)

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí và nén tệp vào kho lưu trữ ZIP mà không có bất kỳ giới hạn đánh giá nào.

Thư viện ZIP Python - Tài nguyên

Bạn có thể khám phá thêm về thư viện Python ZIP của chúng tôi bằng các tài nguyên sau:

Tạo kho lưu trữ ZIP trực tuyến

Hãy dùng thử [ứng dụng nén tệp miễn phí] của chúng tôi (https://products.aspose.app/zip/compression/zip), được cung cấp bởi Aspose.ZIP for Python.

Phần kết luận

Tóm lại, Aspose.ZIP for Python cung cấp một giải pháp mạnh mẽ và linh hoạt để tạo và quản lý các kho lưu trữ ZIP một cách dễ dàng. Với bộ tính năng toàn diện, các nhà phát triển có thể tích hợp liền mạch chức năng ZIP vào các ứng dụng Python của họ. Cho dù đó là nén tệp, thêm mã hóa hay tổ chức các cấu trúc thư mục phức tạp, Aspose.ZIP đều cung cấp bộ công cụ đáng tin cậy để hợp lý hóa các tác vụ này.

Bài viết này đã cung cấp cho bạn hướng dẫn đầy đủ về cách tạo kho lưu trữ ZIP bằng Python. Ngoài ra, chúng tôi đã đề cập đến cách lưu trữ nhiều tệp và thư mục, tạo kho lưu trữ ZIP được bảo vệ bằng mật khẩu, áp dụng mã hóa AES và định cấu hình các phương pháp nén ZIP song song. Bạn có thể dễ dàng tích hợp thư viện vào các ứng dụng Python của mình và sử dụng các mẫu mã được cung cấp.

Xem thêm