Overzicht

In sommige situaties is het nodig om selectief bestanden uit het archief te verwijderen. Verwijdering kan worden uitgevoerd op basis van een masker of een ander criterium.
Aspose.ZIP ondersteunt selectieve verwijdering uit verschillende formaten.

Python Bestand verwijderen uit ZIP-archief

De methode delete_entry wordt gebruikt om een ​​volledig item uit een ZIP-archief te verwijderen. Deze bewerking is onafhankelijk en vereist niet dat het hele archief opnieuw moet worden verwerkt.
Inzendingen uit het ZIP-archief kunnen worden verwijderd met behulp van de methoden DeleteEntry . Het verwijderen van een item gebeurt zonder opnieuw inpakken, zodat andere items ongewijzigd blijven zonder te worden gedecomprimeerd en opnieuw gecomprimeerd.

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

Deze code verwerkt het bestaande ZIP-archief "archive.zip". Het verwijdert achtereenvolgens alle vermeldingen behalve de laatste, waardoor feitelijk een nieuw archief wordt gecreëerd met de naam "last_entry.zip" dat alleen het resterende bestand bevat.

Bestand verwijderen uit TAR

De methode delete_entry is ook effectief voor het verwijderen van vermeldingen uit een TAR-archief. Dit proces werkt onafhankelijk, waardoor het niet meer nodig is om het hele archief opnieuw te verwerken. Door de delete_entry-methode voor TAR-bestanden te gebruiken, zoals weergegeven in het onderstaande voorbeeld, kunnen items naadloos worden verwijderd, zodat de resterende items niet worden beïnvloed en niet worden gedecomprimeerd of opnieuw worden gecomprimeerd.

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

Als u gegevens uit gecomprimeerde tar (*.tar.gz) wilt verwijderen, is het noodzakelijk om deze te decomprimeren naar gewone *.tar.

CPIO Bestand uit archief verwijderen

Inzendingen kunnen op dezelfde manier als TAR uit CPIO worden verwijderd.

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

Houd er rekening mee dat de methode delete_entry de archiefinstantie retourneert. Dit zal u helpen om uw code in sommige gevallen compacter te maken.

Verwijderen uit XAR-bestanden

Het Xar-archief beschikt ook over een verwijderingsmethode voor één item: delete_entry.
In dit voorbeeld worden alle items verwijderd, behalve de laatste.

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

Dit voorbeeld toont geïsoleerde verwerking, wat betekent dat het archief wordt gewijzigd zonder de gecomprimeerde status van de resterende vermeldingen te beïnvloeden. De code verwijdert iteratief vermeldingen uit "archive.xar" totdat er nog maar één overblijft. Ten slotte wordt het resulterende archief opgeslagen als "last.xar".

Andere ondersteunde Aspose.ZIP voor Python.Net API-functies

Met de Aspose.ZIP-bibliotheek in Python.Net kunt u naadloos verschillende taken uitvoeren die verband houden met ZIP-bestandsdocumenten. Of u nu formaten moet converteren, bestanden moet samenvoegen, inhoud moet bewerken of gegevens moet extraheren, Aspose.ZIP biedt uitgebreide functionaliteit om uw workflow te stroomlijnen en de productiviteit te verbeteren.

  

Support and Learning Resources

  
  

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