ZIP ไฟล์เก็บถาวรบีบอัดและรวมไฟล์หรือโฟลเดอร์หลาย ๆ ไฟล์ไว้ในคอนเทนเนอร์ที่รวมเป็นหนึ่งเดียว ไฟล์ ZIP ไม่เพียงแต่ห่อหุ้มไฟล์และโฟลเดอร์เท่านั้น แต่ยังเก็บรักษาข้อมูลเมตาไว้ด้วย โดยส่วนใหญ่จะลดขนาดไฟล์สำหรับการจัดเก็บ/การส่ง และเพิ่มความปลอดภัยผ่านการเข้ารหัส นอกเหนือจากเครื่องมือบีบอัดไฟล์แบบเดิมๆ แล้ว เดสก์ท็อปและเว็บแอปพลิเคชันยังรวมฟังก์ชันการบีบอัดและการแยกไฟล์อัตโนมัติ เพื่อปรับปรุงงานต่างๆ เช่น การอัปโหลด ดาวน์โหลด การแชร์ และการเข้ารหัสไฟล์ บทความนี้นำเสนอวิธีง่ายๆ ในการบีบอัดไฟล์หรือโฟลเดอร์และสร้างไฟล์ ZIP ใน Python นอกจากนี้ยังครอบคลุมถึงวิธีการสร้างไฟล์ ZIP ที่เข้ารหัสและป้องกันด้วยรหัสผ่านใน Python เรามาเจาะลึกมันกันดีกว่า
- ไลบรารี ZIP Python
- สร้างไฟล์ ZIP โดยใช้ Python
- เพิ่มหลายไฟล์ลงในไฟล์ ZIP
- เพิ่มโฟลเดอร์ลงในไฟล์ ZIP
- สร้างไฟล์ ZIP ที่ป้องกันด้วยรหัสผ่าน
- เข้ารหัสไฟล์ ZIP ด้วยการเข้ารหัส AES
- ตั้งค่าโหมดการบีบอัดแบบขนาน
ไลบรารี ZIP ของ Python
Aspose.ZIP for Python เป็นไลบรารีที่ทรงพลังและอเนกประสงค์ที่ให้นักพัฒนามีชุดเครื่องมือที่ครอบคลุมเพื่อทำงานกับไฟล์ ZIP ในแอปพลิเคชัน Python ด้วย API ที่ใช้งานง่ายและฟีเจอร์ที่หลากหลาย Aspose.ZIP for Python ทำให้การสร้าง แตกไฟล์ และจัดการไฟล์ ZIP ได้อย่างมีประสิทธิภาพเป็นเรื่องง่าย คุณสามารถติดตั้งไลบรารี่ได้จาก PyPI โดยใช้คำสั่งต่อไปนี้
> pip install aspose-zip
สร้างไฟล์ ZIP ใน Python
ต่อไปนี้เป็นขั้นตอนในการบีบอัดไฟล์โดยเพิ่มลงในไฟล์ ZIP ใน Python
- ขั้นแรก สร้างไฟล์ ZIP ใหม่โดยใช้คลาส Archive
- จากนั้นเพิ่มไฟล์ลงในไฟล์ ZIP โดยใช้เมธอด Archive.createentry()
- สุดท้าย ให้บันทึกไฟล์ ZIP โดยใช้วิธี Archive.save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มไฟล์ลงในไฟล์ ZIP ใน Python
import aspose.zip as az
# สร้างและบันทึกไฟล์เก็บถาวรด้วยไฟล์เดียว
with az.Archive() as archive:
# เพิ่มไฟล์ลงในไฟล์เก็บถาวร
archive.create_entry("file", "file.txt")
# สร้างและบันทึกไฟล์ zip
archive.save('my_archive.zip')
เพิ่มหลายไฟล์ลงในไฟล์ ZIP ใน Python
ในส่วนก่อนหน้านี้ เราได้สาธิตวิธีการแทรกไฟล์เดียวลงในไฟล์ ZIP อย่างไรก็ตาม หากคุณมีมากกว่าหนึ่งไฟล์ คุณสามารถเรียกใช้เมธอด Archive.createentry() ซ้ำๆ ได้
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแทรกไฟล์หลายไฟล์ลงในไฟล์ ZIP ใน Python
import aspose.zip as az
# สร้างและบันทึกไฟล์เก็บถาวรด้วยหลายไฟล์
with az.Archive() as archive:
# เพิ่มไฟล์แรก
archive.create_entry("file", "file.txt")
# เพิ่มไฟล์ที่สอง
archive.create_entry("file2", "file2.txt")
# สร้างและบันทึกไฟล์ zip
archive.save('my_archive.zip')
เพิ่มโฟลเดอร์ลงในไฟล์ ZIP ใน Python
ไม่เพียงแต่ไฟล์เท่านั้น แต่คุณยังสามารถบีบอัดโฟลเดอร์ลงในไฟล์ ZIP ได้อีกด้วย สำหรับสิ่งนี้ คุณไม่จำเป็นต้องเพิ่มแต่ละไฟล์ในโฟลเดอร์ไปยังไฟล์เก็บถาวรทีละไฟล์ เพียงเรียกใช้เมธอด Archive.createentries() ส่งชื่อโฟลเดอร์ เท่านี้ก็เรียบร้อย เพื่อความเข้าใจของคุณ ด้านล่างนี้คือขั้นตอนในการเก็บถาวรโฟลเดอร์ทั้งหมด
- ขั้นแรก สร้างไฟล์เก็บถาวรใหม่โดยใช้คลาส Archive
- จากนั้นเพิ่มโฟลเดอร์ลงในไฟล์ ZIP โดยใช้วิธี Archive.createentries (ชื่อโฟลเดอร์)
- สุดท้าย ให้บันทึกไฟล์ ZIP โดยใช้วิธี Archive.save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มโฟลเดอร์ลงใน ZIP ใน Python
import aspose.zip as az
# สร้างไฟล์เก็บถาวรจากโฟลเดอร์
with az.Archive() as archive:
# เพิ่มโฟลเดอร์ลงใน zip
archive.create_entries("files")
# สร้างและบันทึกไฟล์ zip
archive.save('my_archive_from_folder.zip')
สร้าง ZIP ที่ป้องกันด้วยรหัสผ่านใน Python
ในหลายกรณี เช่น ขณะแชร์ไฟล์เก็บถาวรบนอินเทอร์เน็ต คุณต้องป้องกันไฟล์ ZIP ด้วยรหัสผ่าน การสร้างไฟล์ ZIP ที่ป้องกันด้วยรหัสผ่านโดยใช้ Aspose.ZIP for Python เป็นกระบวนการที่ไม่ซับซ้อนซึ่งช่วยเพิ่มความปลอดภัยให้กับไฟล์บีบอัดของคุณ มาดูวิธีป้องกันไฟล์ ZIP ด้วยรหัสผ่านใน Python
- ขั้นแรก สร้างอ็อบเจ็กต์ของคลาส ArchiveEntrySettings และเริ่มต้นด้วยรหัสผ่านที่ต้องการ
- จากนั้นสร้างอ็อบเจ็กต์ของคลาส Archive และเริ่มต้นด้วยอ็อบเจ็กต์ ArchiveEntrySettings ที่คุณสร้างไว้ด้านบน
- หลังจากนั้นให้เพิ่มไฟล์และโฟลเดอร์ลงในไฟล์ ZIP
- สุดท้าย ให้บันทึกไฟล์ ZIP โดยใช้วิธี Archive.save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างไฟล์ ZIP ที่ป้องกันด้วยรหัสผ่านใน Python
import aspose.zip as az
# สร้างการตั้งค่าการเก็บถาวรและตั้งรหัสผ่าน
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))
# สร้างและบันทึกไฟล์เก็บถาวรด้วยหลายไฟล์
with az.Archive(archive_settings) as archive:
# เพิ่มโฟลเดอร์ลงใน zip
archive.create_entries("files")
# สร้างและบันทึกไฟล์ zip
archive.save('protected_archive.zip')
เข้ารหัสไฟล์ ZIP ด้วยการเข้ารหัส AES
ในตัวอย่างก่อนหน้านี้ เราใช้การตั้งค่าแบบดั้งเดิมเพื่อปกป้องไฟล์ ZIP ด้วยรหัสผ่าน อย่างไรก็ตาม Aspose.ZIP for Python อนุญาตให้คุณใช้การเข้ารหัส AES เพื่อเข้ารหัสไฟล์ ZIP ของคุณ คุณสามารถใช้วิธีการเข้ารหัส AES ต่อไปนี้:
- AES128
- AES192
- AES256
กระบวนการใช้การเข้ารหัส AES จะเหมือนกับที่คุณได้เห็นในส่วนที่แล้ว ข้อแตกต่างเพียงอย่างเดียวคือ ขณะนี้คุณจะใช้ AesEcryptionSettings แทน TraditionalEncryptionSettings เมื่อกำหนดการตั้งค่าการเก็บถาวร ตัวอย่างโค้ดต่อไปนี้สาธิตวิธีการใช้การเข้ารหัส AES กับไฟล์ ZIP ใน Python
import aspose.zip as az
# สร้างการตั้งค่าการเก็บถาวรและตั้งรหัสผ่าน
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))
# สร้างและบันทึกไฟล์เก็บถาวรด้วยหลายไฟล์
with az.Archive(archive_settings) as archive:
# เพิ่มโฟลเดอร์ลงใน zip
archive.create_entries("files")
# สร้างและบันทึกไฟล์ zip
archive.save('protected_archive.zip')
ตั้งค่าโหมดการบีบอัดแบบขนาน
Aspose.ZIP for Python ยังให้คุณปรับแต่งกระบวนการเก็บ ZIP โดยใช้การตั้งค่าการบีบอัดแบบขนาน การกำหนดค่านี้จะบอก API เมื่อใดจึงจะใช้การบีบอัดแบบขนาน มีโหมดการบีบอัดแบบขนานดังต่อไปนี้
- Never - ห้ามบีบอัดแบบขนาน
- เสมอ - ทำการบีบอัดแบบขนาน (ระวังหน่วยความจำไม่เพียงพอ)
- อัตโนมัติ - ตัดสินใจว่าจะใช้การบีบอัดแบบขนานหรือไม่กับรายการ ตัวเลือกนี้อาจบีบอัดบางรายการแบบขนานเท่านั้น
ต่อไปนี้เป็นขั้นตอนในการใช้การบีบอัดแบบขนานในขณะที่สร้างไฟล์ ZIP ใน Python
- ขั้นแรก สร้างไฟล์เก็บถาวรใหม่โดยใช้คลาส Archive
- จากนั้น เพิ่มไฟล์หรือโฟลเดอร์ลงในไฟล์ ZIP (ดังแสดงในส่วนก่อนหน้า)
- สร้างอินสแตนซ์ของคลาส ParallelOptions และตั้งค่าคุณสมบัติparallelcompressinmemoryเป็นค่า ParallelCompressionMode ที่ต้องการ
- สร้างอินสแตนซ์ของคลาส ArchiveSaveOptions
- กำหนดออบเจ็กต์ ParallelOptions ให้กับคุณสมบัติ ArchiveSaveOptions.paralleloptions
- สุดท้าย ให้บันทึกไฟล์ ZIP โดยใช้วิธี Archive.save()
ตัวอย่างโค้ดด้านล่างแสดงวิธีใช้การบีบอัดแบบขนานขณะซิปไฟล์ใน Python
# สร้างและบันทึกไฟล์เก็บถาวรด้วยหลายไฟล์
import aspose.zip as az
with az.Archive() as archive:
# เพิ่มไฟล์/โฟลเดอร์ลงใน zip
archive.create_entry("file", "file.txt")
archive.create_entry("file2", "file2.txt")
# สร้างตัวเลือกสำหรับการบีบอัดแบบขนาน
parallelOptions = az.saving.ParallelOptions()
parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS
# สร้างตัวเลือกการบันทึก ZIP
archiveSaveOptions = az.saving.ArchiveSaveOptions()
archiveSaveOptions.parallel_options = parallelOptions
archiveSaveOptions.archive_comment = "Files compressed with parallel compression."
# สร้างและบันทึกไฟล์ zip
archive.save('parallel_compression_archive.zip', archiveSaveOptions)
รับใบอนุญาตฟรี
คุณสามารถรับ [ใบอนุญาตชั่วคราวฟรี] และบีบอัดไฟล์ไปยังไฟล์ ZIP โดยไม่มีข้อจำกัดในการประเมิน
Python ZIP Library - แหล่งข้อมูล
คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับไลบรารี Python ZIP ของเราได้โดยใช้แหล่งข้อมูลต่อไปนี้:
สร้างไฟล์ ZIP ออนไลน์
ลองใช้ แอปพลิเคชันบีบอัดไฟล์ฟรี ซึ่งขับเคลื่อนโดย Aspose.ZIP for Python
บทสรุป
โดยสรุป Aspose.ZIP for Python นำเสนอโซลูชันที่แข็งแกร่งและอเนกประสงค์สำหรับการสร้างและจัดการไฟล์ ZIP ได้อย่างง่ายดาย ด้วยชุดคุณสมบัติที่ครอบคลุม นักพัฒนาสามารถรวมฟังก์ชัน ZIP เข้ากับแอปพลิเคชัน Python ของตนได้อย่างราบรื่น ไม่ว่าจะเป็นการบีบอัดไฟล์ การเพิ่มการเข้ารหัส หรือการจัดระเบียบโครงสร้างไดเร็กทอรีที่ซับซ้อน Aspose.ZIP มีชุดเครื่องมือที่เชื่อถือได้เพื่อปรับปรุงงานเหล่านี้
บทความนี้จะให้คำแนะนำฉบับสมบูรณ์เกี่ยวกับวิธีสร้างไฟล์ ZIP ใน Python นอกจากนี้ เราได้กล่าวถึงวิธีการเก็บถาวรไฟล์และโฟลเดอร์หลายรายการ สร้างไฟล์ ZIP ที่ป้องกันด้วยรหัสผ่าน ใช้การเข้ารหัส AES และกำหนดค่าวิธีการบีบอัด ZIP แบบขนาน คุณสามารถรวมไลบรารีเข้ากับแอปพลิเคชัน Python ของคุณได้อย่างง่ายดาย และใช้ตัวอย่างโค้ดที่ให้มา