Ta bort filer i ett ZIP-arkiv i Python

ZIP-arkiv används vanligtvis för att komprimera och lagra flera filer och mappar. Även om det är en vanlig uppgift att skapa och extrahera ZIP-arkiv, kan du ibland behöva ta bort specifika filer eller mappar från ett befintligt ZIP-arkiv. Python erbjuder olika bibliotek att arbeta med ZIP-arkiv, och ett kraftfullt bibliotek är Aspose.ZIP för Python. Så låt oss lära oss hur man tar bort filer från ett ZIP-arkiv i Python.

Python-bibliotek för att ta bort filer i ZIP-arkiv

Aspose.ZIP for Python är ett funktionsrikt bibliotek för att arbeta med ZIP-arkiv. Det ger enkla och effektiva sätt att skapa, manipulera och extrahera filer och mappar från ZIP-arkiv i Python. Vi kommer att använda det här biblioteket för att radera filer från ZIP-arkiv.

Du kan antingen ladda ner biblioteket eller installera det från PyPI.

> pip install aspose-zip

Ta bort filer i ett ZIP-arkiv i Python

Du kan komma åt och ta bort filerna från ett ZIP-arkiv på två sätt: med namn eller index. Att ta bort en fil med namn är användbart när du exakt vet namnet på filposten i ZIP-arkivet. Eller så måste du ta bort alla filer som innehåller ett visst ord eller en viss fras i deras namn. Å andra sidan, radering av filer efter index används när du exakt vet ordningen på filerna i ZIP-arkivet.

Så låt oss titta på båda sätten i detalj.

Ta bort fil från en ZIP efter namn

För att radera filer efter namn måste du först filtrera filerna som matchar/innehåller ordet/frasen du anger. När du har listan över filer som ska raderas kan du ta bort dem från ZIP-arkivet en efter en. Följande är stegen för att ta bort filer från ett ZIP-arkiv i Python.

  • Ladda först ZIP-filen med Archive class.
  • Gå sedan igenom filerna i ZIP-arkivet.
  • Filtrera de nödvändiga filerna/mapparna och lägg till dem i en lista.
  • Ta bort varje post i den filtrerade listan med metoden Archive.deleteentry(ArchiveEntry).
  • Slutligen, spara det uppdaterade ZIP-arkivet med metoden Archive.save().

Följande kodsnutt visar hur man tar bort filer i ett ZIP-arkiv i Python.

import aspose.zip as az

# Ladda ZIP-arkivet
with az.Archive("my_archive.zip") as archive:
    # Lista för att behålla filer som ska raderas
    entriesToDelete = []
    
    # Gå igenom ZIP-poster
   for entry in archive.entries:
        # Lägg till fil/mapp i listan
        if "2" in entry.name.lower():
            entriesToDelete.append(entry)
    
    # Ta bort alla listade poster
   for entry in entriesToDelete:
        archive.delete_entry(entry)
    
    # Spara uppdaterat ZIP-arkiv
    archive.save("updated-archive.zip")

Ta bort filer i ett ZIP-format med index

Följande är stegen för att ta bort en fil från ZIP-arkivet med hjälp av dess index.

  • Ladda först ZIP-filen med Archive class.
  • Ta sedan bort nödvändig post från ZIP med metoden Archive.deleteentry(index).
  • Slutligen, spara det uppdaterade ZIP-arkivet med metoden Archive.save().

Nedanstående kodavsnitt visar hur man tar bort en fil från ett ZIP-arkiv efter index.

import aspose.zip as az

# Ladda ZIP-arkivet
with az.Archive("my_archive.zip") as archive:
    
    # Ta bort post vid index 0
    archive.delete_entry(0)

    # Spara uppdaterat ZIP-arkiv
    archive.save("updated-archive.zip")

Python ZIP Library - Skaffa en gratis licens

Du kan ta bort filer i ZIP-arkiv utan utvärderingsbegränsningar genom att skaffa en gratis tillfällig licens.

Lärresurser

Lär dig mer om vårt Python ZIP-bibliotek med hjälp av resurserna nedan:

Online ZIP-verktyg

Vi har också utvecklat några användbara onlineverktyg för att arbeta med ZIP-arkiv. Dessa verktyg är helt gratis och drivs av Aspose.ZIP för Python.

Slutsats

I det här blogginlägget har vi utforskat hur man tar bort filer från ett ZIP-arkiv i Python. Vi har täckt hur man tar bort filer från ZIP-arkiv med namn eller index. Oavsett om du behöver ta bort oönskade filer från ett befintligt ZIP-arkiv eller utföra andra ZIP-relaterade uppgifter, har Aspose.ZIP för Python dig täckt. Installera helt enkelt biblioteket och berika din Python-applikation med avancerade ZIP-arkiveringsfunktioner.

Se även