概述
我們的庫允許對某些格式進行多流壓縮。這使您可以顯著提高資料壓縮的速度。並行化 BZIP2、LZIP 和 XZ 檔案
壓縮線程的數量可以透過對應設定類別的“壓縮線程”屬性來設定。預設值為 1,因此壓縮是在單一執行緒上執行的。但是,如果您設定的值大於 1,演算法將使用相應數量的處理器核心
Parallel compression to BZIP2
save_options = zp.bzip2.Bzip2SaveOptions()
save_options.compression_threads = 4
with zp.bzip2.Bzip2Archive() as archive:
archive.set_source("data.bin")
archive.save("archive.bz2", save_options)
Parallel compression to LZIP
# Will use 16Mb for dictionary:
settings = zp.lzip.LzipArchiveSettings(0x1000000)
settings.compression_threads = 4
with zp.lzip.LzipArchive(settings) as archive:
archive.set_source("data.bin")
archive.save("archive.lz")
Parallel compression to XZ
settings = zp.xz.settings.XzArchiveSettings()
settings.compression_threads = 4
with zp.xz.XzArchive(settings) as archive:
archive.set_source("data.bin")
archive.save("archive.xz")
在這些範例中,Python 程式碼片段執行類似的建立檔案的操作,只是使用的壓縮格式不同。他們通常遵循以下步驟:
- 建立特定於存檔格式的設定物件。 ,確保操作完成後自動關閉存檔。 /ul>
7Z 檔案中的 LZMA2 壓縮和多線程
此範例示範如何使用 data.bin 檔案建立 7z 存檔。我們使用具有四個流的LZMA2壓縮演算法來有效地壓縮資料。
Parallel compression to 7Z LZMA2
compression_settings = zp.saving.SevenZipLZMA2CompressionSettings()
compression_settings.compression_threads = 4
entry_settings = zp.saving.SevenZipEntrySettings(compression_settings)
with zp.sevenzip.SevenZipArchive(entry_settings) as archive:
archive.create_entry("data.bin", "data.bin")
archive.save("result.7z")
此程式碼透過從 data.bin 檔案讀取資料來建立 7z 存檔,使用 SevenZipLZMA2CompressionSettings 而不是 Bzip2、Lzip 或 XZ 的設置,以及具有四個壓縮執行緒的 LZMA2 壓縮演算法。它使用 SevenZipArchive 的 create_entry 方法而不是 set_source 方法。
透過並行壓縮加速 ZIP 歸檔
ZIP 檔案的建立可以在入門級並行。為此,請使用 ParallelOptions 實例及其屬性
parallel_opt = zp.saving.ParallelOptions()
parallel_opt.parallel_compress_in_memory = zp.saving.ParallelCompressionMode.AUTO
save_opt = zp.saving.ArchiveSaveOptions()
save_opt.parallel_options = parallel_opt
with zp.Archive as archive:
archive.create_entries("~/Data")
archive.Save("archive.zip", save_opt)
主要功能包括:
- 使用 ParallelOptions 設定並行記憶體壓縮。
Python.Net API 支援的其他 Aspose.ZIP 功能
透過Python.Net中的Aspose.ZIP庫,您可以無縫處理與ZIP文件文件相關的各種任務。無論您需要轉換格式、合併文件、編輯內容或提取數據,Aspose.ZIP 都提供全面的功能來簡化您的工作流程並提高工作效率。