ภาพรวม

ในบางสถานการณ์ จำเป็นต้องเลือกลบไฟล์ออกจากไฟล์เก็บถาวร การลบสามารถทำได้โดยใช้มาสก์หรือเกณฑ์อื่นๆ
Aspose.ZIP รองรับการลบแบบเลือกจากหลายรูปแบบ

Python ลบไฟล์ออกจากไฟล์ ZIP

เมธอด Delete_entry ใช้เพื่อลบรายการทั้งหมดออกจากไฟล์ ZIP การดำเนินการนี้เป็นอิสระจากกัน และไม่จำเป็นต้องประมวลผลไฟล์เก็บถาวรทั้งหมดใหม่
รายการไฟล์ ZIP สามารถลบได้โดยใช้วิธีคู่ DeleteEntry การลบรายการจะเกิดขึ้นโดยไม่ต้องทำการแพ็กใหม่ ดังนั้นรายการอื่นๆ ยังคงไม่เปลี่ยนแปลงโดยไม่ต้องคลายการบีบอัดและบีบอัดใหม่

    with zp.Archive("archive.zip") as archive:
        while len(archive.entries) > 1:
            archive.delete_entry(archive.entries[0])
        archive.save("last_entry.zip")

รหัสนี้ประมวลผลไฟล์ ZIP ที่มีอยู่ "archive.zip" โดยจะลบรายการทั้งหมดอย่างต่อเนื่องยกเว้นรายการสุดท้าย โดยสร้างไฟล์เก็บถาวรใหม่ชื่อ "last_entry.zip" ซึ่งมีเฉพาะไฟล์ที่เหลืออยู่อย่างมีประสิทธิภาพ

ลบไฟล์ออกจาก TAR

เมธอด Delete_entry ยังมีประสิทธิภาพในการลบรายการออกจากไฟล์เก็บถาวร TAR กระบวนการนี้ทำงานอย่างเป็นอิสระ ทำให้ไม่จำเป็นต้องประมวลผลไฟล์เก็บถาวรใหม่ทั้งหมด เมื่อใช้เมธอด Delete_entry สำหรับไฟล์ TAR ดังที่แสดงในตัวอย่างด้านล่าง รายการต่างๆ จะถูกลบได้อย่างราบรื่น เพื่อให้มั่นใจว่ารายการที่เหลือจะไม่ได้รับผลกระทบ และไม่ถูกบีบอัดหรือบีบอัดใหม่

    with zp.tar.TarArchive("two_files.tar") as archive:
        archive.delete_entry(0)
        archive.save("single_file.tar")

หากคุณต้องการลบรายการออกจาก tar ที่ถูกบีบอัด (*.tar.gz) จำเป็นต้องขยายขนาดให้เป็น *.tar ธรรมดา

CPIO ลบไฟล์ออกจากไฟล์เก็บถาวร

รายการสามารถลบออกจาก CPIO ที่คล้ายกับ TAR

    with zp.cpio.CpioArchive("two_files.cpio") as archive:
        archive.delete_entry(archive.entries[0]).save("single_file.cpio")

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

ลบออกจากไฟล์ XAR

ไฟล์เก็บถาวร Xar ยังมีวิธีการลบรายการเดียว Delete_entry
ในตัวอย่างนี้ รายการทั้งหมดจะถูกลบออก ยกเว้นรายการสุดท้าย

    with zp.xar.XarArchive("archive.xar") as archive:
        while len(archive.entries) > 1:
            archive.delete_entry(0)
        archive.save("last.xar")

ตัวอย่างนี้แสดงการประมวลผลแบบแยกส่วน ซึ่งหมายความว่าจะแก้ไขไฟล์เก็บถาวรโดยไม่กระทบต่อสถานะการบีบอัดของรายการที่เหลือ โค้ดจะลบรายการจาก "archive.xar" ซ้ำๆ จนกระทั่งเหลือเพียงรายการเดียว ในที่สุด ไฟล์เก็บถาวรผลลัพธ์จะถูกบันทึกเป็น "last.xar"

Aspose.ZIP อื่นๆ ที่รองรับสำหรับคุณสมบัติ Python.Net API

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

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: