Przegląd

W niektórych sytuacjach konieczne jest selektywne usuwanie plików z archiwum. Usunięcie można wykonać w oparciu o maskę lub inne kryterium.
Aspose.ZIP obsługuje selektywne usuwanie z kilku formatów.

Python Usuń plik z archiwum ZIP

Metoda usuwania_entry służy do usuwania całego wpisu z archiwum ZIP. Operacja ta jest niezależna i nie wymaga ponownego przetwarzania całego archiwum.
Wpisy archiwum ZIP można usunąć za pomocą pary metod DeleteEntry . Usunięcie wpisu odbywa się bez ponownego pakowania, więc inne wpisy pozostają niezmienione bez dekompresji i ponownej kompresji.

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

Ten kod przetwarza istniejące archiwum ZIP „archive.zip”. Sukcesywnie usuwa wszystkie wpisy z wyjątkiem ostatniego, skutecznie tworząc nowe archiwum o nazwie „last_entry.zip”, które zawiera tylko pozostały plik.

Usuń plik z TAR

Metoda usuwania_entry jest również skuteczna przy usuwaniu wpisów z archiwum TAR. Proces ten przebiega niezależnie, co eliminuje konieczność ponownego przetwarzania całego archiwum. Używając metody usuwania_entry dla plików TAR, jak pokazano w poniższym przykładzie, wpisy można bezproblemowo usunąć, zapewniając, że pozostałe wpisy nie zostaną naruszone i nie zostaną poddane dekompresji ani rekompresji.

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

Jeśli chcesz usunąć wpisy ze skompresowanego pliku tar (*.tar.gz), konieczne jest zdekompresowanie go do zwykłego pliku *.tar.

CPIO Usuń plik z archiwum

Wpisy można usuwać z CPIO podobnie jak w TAR.

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

Pamiętaj, że metoda usuwania_entry zwraca instancję archiwum. W niektórych przypadkach pomoże to uczynić kod bardziej zwartym.

Usuń z plików XAR

Archiwum Xar posiada również metodę usuwania pojedynczego wpisu Delete_entry.
W tym przykładzie usuwane są wszystkie wpisy oprócz ostatniego.

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

Ten przykład ilustruje przetwarzanie izolowane, co oznacza, że ​​modyfikuje ono archiwum bez wpływu na stan skompresowania pozostałych wpisów. Kod iteracyjnie usuwa wpisy z „archive.xar”, aż pozostanie tylko jeden. Na koniec powstałe archiwum jest zapisywane jako „last.xar”.

Inne obsługiwane funkcje Aspose.ZIP dla Python.Net API

Dzięki bibliotece Aspose.ZIP w Python.Net możesz bezproblemowo wykonywać różne zadania związane z dokumentami w formacie ZIP. Niezależnie od tego, czy potrzebujesz konwertować formaty, scalać pliki, edytować zawartość czy wyodrębniać dane, Aspose.ZIP zapewnia wszechstronną funkcjonalność usprawniającą przepływ pracy i zwiększającą produktywność.

  

Support and Learning Resources

  
  

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