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
- Výukové zdroje
- Dokumentace
- Zdrojový kód
- Reference API
- Podpora produktu
- Bezplatná podpora
- Placená podpora
- Blog
- Poznámky k vydání
- Proč Aspose.Zip pro Python.Net?
- Seznam zákazníků
- Příběhy úspěchu