แยก ZIP ที่ซ้อนกันใน Python

ไฟล์เก็บถาวร ZIP ใช้กันอย่างแพร่หลายสำหรับการบีบอัดและจัดระเบียบไฟล์และโฟลเดอร์ บางครั้งคุณอาจเจอไฟล์ ZIP ภายในไฟล์ ZIP หรือที่เรียกว่า ZIP ที่ซ้อนกัน การแยกไฟล์ออกจากไฟล์เก็บถาวรที่ซ้อนกันอาจเป็นงานที่ท้าทายหากคุณไม่มีเครื่องมือที่เหมาะสม ในบล็อกโพสต์นี้ เราจะสำรวจวิธีการแยกไฟล์ ZIP ที่ซ้อนกันใน Python ได้อย่างง่ายดาย

Python Library เพื่อแตกไฟล์ ZIP ที่ซ้อนกัน

Aspose.ZIP for Python เป็นไลบรารีอันทรงพลังที่ช่วยให้คุณทำงานกับไฟล์ ZIP ในแอปพลิเคชัน Python มันมีคุณสมบัติที่หลากหลายสำหรับการสร้าง จัดการ และแตกไฟล์ ZIP ทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับการจัดการโครงสร้างไฟล์เก็บถาวรที่ซับซ้อน รวมถึงไฟล์ ZIP ที่ซ้อนกัน ดังนั้นเราจะใช้ไลบรารีนี้เพื่อแตกไฟล์ ZIP ที่ซ้อนกัน

คุณสามารถ ดาวน์โหลด ไลบรารีหรือติดตั้งจาก PyPI

> pip install aspose-zip

แยกไฟล์ ZIP ที่ซ้อนกันใน Python

ต่อไปนี้เป็นขั้นตอนในการแยกไฟล์ ZIP ที่ซ้อนกันใน Python

  • ขั้นแรก ให้โหลดไฟล์ ZIP โดยใช้คลาส Archive
  • จากนั้นวนซ้ำรายการ ZIP โดยใช้คอลเลกชัน Archive.entries
  • กรองไฟล์ ZIP โดยใช้ ArchiveEntry.name.lower().endswith(".zip") ตรวจสอบ
  • สร้างวัตถุ BytesIO และเปิด ZIP ที่ซ้อนกันเข้าไป
  • สุดท้าย ให้เปิด ZIP ที่ซ้อนกันโดยใช้อ็อบเจ็กต์ BytesIO และแตกไฟล์โดยใช้เมธอด Archive.extracttodirectory()

ข้อมูลโค้ดด้านล่างแยกไฟล์ ZIP ที่ซ้อนกันลงในโฟลเดอร์ใน Python

import aspose.zip as az
from io import BytesIO

# โหลดไฟล์ ZIP ที่มี ZIP ซ้อนกัน
with az.Archive("nested_zip_archive.zip") as archive:
   for entry in archive.entries:            
        # ตรวจสอบว่ารายการเป็นไฟล์ ZIP หรือไม่
        if entry.name.lower().endswith(".zip"):                
            # เปิด ZIP ที่ซ้อนกันลงในสตรีม
            with BytesIO() as nested_stream:   
                # เปิด ZIP เข้าสู่สตรีม
                entry.extract(nested_stream)
                
                # โหลด ZIP
                with az.Archive(nested_stream) as nested_archive: 
                    # แยก ZIP ไปยังโฟลเดอร์
                    nested_archive.extract_to_directory("Extracted/" + entry.name)

Python ZIP Library - รับสิทธิ์การใช้งานฟรี

รับ ใบอนุญาตชั่วคราวฟรี และเพิ่มไฟล์ลงในไฟล์ ZIP โดยไม่มีข้อจำกัดในการประเมิน

ทรัพยากรการเรียนรู้

เรียนรู้เพิ่มเติมเกี่ยวกับไลบรารี Python ZIP ของเราโดยใช้ทรัพยากรที่ระบุด้านล่าง:

เครื่องมือ ZIP ออนไลน์

สำรวจ [เครื่องมือออนไลน์เพื่อทำงานกับไฟล์ ZIP] ฟรีของเรา13 ซึ่งขับเคลื่อนโดย Aspose.ZIP for Python

บทสรุป

Aspose.ZIP ทำให้กระบวนการแยกไฟล์ ZIP ที่ซ้อนกันใน Python ง่ายขึ้น ด้วยโค้ดเพียงไม่กี่บรรทัด คุณสามารถเข้าถึงและแตกไฟล์จากไฟล์เก็บถาวรที่ซ้อนกันได้ ไลบรารีนี้เป็นเครื่องมือที่มีค่าสำหรับการจัดการโครงสร้างไฟล์ ZIP ที่ซับซ้อนในแอปพลิเคชัน Python ของคุณ ไม่ว่าคุณจะทำงานกับไฟล์ ZIP ที่ซ้อนกันหรือทำงานอื่นๆ ที่เกี่ยวข้องกับ ZIP Aspose.ZIP for Python สามารถปรับปรุงขั้นตอนการทำงานของคุณและทำให้กระบวนการพัฒนาของคุณมีประสิทธิภาพมากขึ้น

ดูสิ่งนี้ด้วย