Přehled

V některých situacích je nutné selektivně odstranit soubory z archivu. Odstranění lze provést na základě masky nebo jakéhokoli jiného kritéria.
Aspose.ZIP podporuje selektivní mazání z několika formátů.

Python odebrat soubor z archivu ZIP

Metoda delete_entry se používá k odstranění celého záznamu z archivu ZIP. Tato operace je nezávislá a nevyžaduje opětovné zpracování celého archivu.
Záznamy archivu ZIP lze smazat pomocí dvojice metod DeleteEntry . Odstranění záznamu probíhá bez přebalení, takže ostatní záznamy zůstanou nezměněny, aniž by byly dekomprimovány a znovu zkomprimovány.

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

Tento kód zpracovává existující ZIP archiv „archive.zip“. Postupně odstraní všechny záznamy kromě posledního, čímž efektivně vytvoří nový archiv s názvem "last_entry.zip", který obsahuje pouze zbývající soubor.

Odebrat soubor z TAR

Metoda delete_entry je také účinná pro odstranění položek z archivu TAR. Tento proces funguje nezávisle, takže není nutné znovu zpracovávat celý archiv. Použitím metody delete_entry pro soubory TAR, jak je znázorněno v příkladu níže, lze položky hladce odstranit, čímž se zajistí, že zbývající položky nebudou ovlivněny a nebudou podrobeny dekompresi nebo rekompresi.

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

Pokud chcete odstranit záznamy z komprimovaného taru (*.tar.gz), je nutné jej dekomprimovat na prostý *.tar.

CPIO Odebrat soubor z archivu

Záznamy lze mazat z CPIO podobně jako TAR.

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

Pamatujte, že metoda delete_entry vrací instanci archivu. To vám pomůže, aby byl váš kód v některých případech kompaktnější.

Odstranit ze souborů XAR

Archiv Xar má také metodu odstranění jedné položky delete_entry.
V této ukázce jsou odstraněny všechny položky kromě poslední.

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

Tento příklad ukazuje izolované zpracování, což znamená, že upravuje archiv bez ovlivnění komprimovaného stavu zbývajících položek. Kód iterativně maže položky z "archive.xar", dokud nezůstane pouze jedna. Nakonec se výsledný archiv uloží jako "last.xar".

Další podporované funkce Aspose.ZIP pro Python.Net API

S knihovnou Aspose.ZIP v Python.Net můžete bez problémů zvládnout různé úkoly související s dokumenty souborů ZIP. Ať už potřebujete převádět formáty, slučovat soubory, upravovat obsah nebo extrahovat data, Aspose.ZIP poskytuje komplexní funkce pro zefektivnění vašeho pracovního postupu a zvýšení produktivity.

  

Support and Learning Resources

  
  

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