ภาพรวม
ไลบรารีของเราอนุญาตให้มีการบีบอัดหลายสตรีมสำหรับบางรูปแบบ สิ่งนี้ช่วยให้คุณเพิ่มความเร็วของการบีบอัดข้อมูลได้อย่างมากการเก็บถาวร BZIP2, LZIP และ XZ แบบขนาน
จำนวนเธรดการบีบอัดสามารถตั้งค่าได้ผ่านคุณสมบัติ "เธรดการบีบอัด" ของคลาสการตั้งค่าที่เกี่ยวข้อง ค่าเริ่มต้นคือ 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 จะดำเนินการที่คล้ายกันสำหรับการสร้างไฟล์เก็บถาวร โดยแตกต่างเฉพาะในรูปแบบการบีบอัดที่ใช้เท่านั้น โดยทั่วไปแล้วจะทำตามขั้นตอนเหล่านี้:
- สร้างออบเจ็กต์การตั้งค่าเฉพาะสำหรับรูปแบบไฟล์เก็บถาวร
- ตั้งค่าจำนวนสตรีมแบบขนานสำหรับการบีบอัด
- ออบเจ็กต์ไฟล์เก็บถาวรจะถูกสร้างขึ้น ในบริบทด้วย ซึ่งรับประกันการปิดไฟล์เก็บถาวรโดยอัตโนมัติหลังจากการดำเนินการเสร็จสิ้น
- ระบุแหล่งข้อมูลที่จะเพิ่มลงในไฟล์เก็บถาวร
- บันทึกไฟล์เก็บถาวรในรูปแบบที่เหมาะสมโดยใช้ การตั้งค่าที่กำหนดไว้
การบีบอัด LZMA2 และมัลติเธรดในไฟล์เก็บถาวร 7Z
ตัวอย่างนี้สาธิตวิธีการสร้างไฟล์เก็บถาวร 7z โดยใช้ไฟล์ data.bin เราใช้อัลกอริธึมการบีบอัด 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")
โค้ดนี้สร้างไฟล์เก็บถาวร 7z โดยการอ่านข้อมูลจากไฟล์ data.bin โดยใช้ SevenZipLZMA2CompressionSettings แทนการตั้งค่าสำหรับ Bzip2, Lzip หรือ XZ และอัลกอริธึมการบีบอัด LZMA2 ที่มีสี่เธรดสำหรับการบีบอัด โดยจะใช้เมธอด create_entry ของ SevenZipArchive แทนเมธอด 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 เพื่อกำหนดค่าการบีบอัดในหน่วยความจำแบบขนาน
- การใช้ ArchiveSaveOptions สำหรับการตั้งค่าการบันทึกทั่วไป
- การใช้เมธอด create_entries เพื่อเพิ่มไฟล์จาก ~/Data ไดเร็กทอรีไปยังไฟล์เก็บถาวร
Aspose.ZIP อื่นๆ ที่รองรับสำหรับคุณสมบัติ Python.Net API
ด้วยไลบรารี Aspose.ZIP ใน Python.Net คุณสามารถจัดการงานต่างๆ ที่เกี่ยวข้องกับเอกสารไฟล์ ZIP ได้อย่างราบรื่น ไม่ว่าคุณจะต้องการแปลงรูปแบบ รวมไฟล์ แก้ไขเนื้อหา หรือแยกข้อมูล Aspose.ZIP มีฟังก์ชันการทำงานที่ครอบคลุมเพื่อปรับปรุงขั้นตอนการทำงานของคุณและปรับปรุงประสิทธิภาพการทำงาน
Support and Learning Resources
- ทรัพยากรการเรียนรู้
- เอกสารประกอบ
- รหัสแหล่งที่มา
- การอ้างอิง API
- การสนับสนุนผลิตภัณฑ์
- การสนับสนุนฟรี
- การสนับสนุนแบบชำระเงิน
- บล็อก
- บันทึกประจำรุ่น
- ทำไมต้อง Aspose.Zip สำหรับ Python.Net
- รายชื่อลูกค้า
- เรื่องราวความสำเร็จ