Überblick

In manchen Situationen ist es notwendig, Dateien gezielt aus dem Archiv zu löschen. Das Entfernen kann anhand einer Maske oder eines anderen Kriteriums erfolgen.
Aspose.ZIP unterstützt das selektive Löschen aus mehreren Formaten.

Python-Datei aus ZIP-Archiv entfernen

Die Methode delete_entry wird verwendet, um einen gesamten Eintrag aus einem ZIP-Archiv zu löschen. Dieser Vorgang ist unabhängig und erfordert keine erneute Verarbeitung des gesamten Archivs.
Einträge des ZIP-Archivs können mit dem Methodenpaar DeleteEntry gelöscht werden. Das Löschen eines Eintrags erfolgt ohne Neupacken, sodass andere Einträge unverändert bleiben, ohne dekomprimiert und erneut komprimiert zu werden.

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

Dieser Code verarbeitet das vorhandene ZIP-Archiv „archive.zip“. Es entfernt nacheinander alle Einträge außer dem letzten und erstellt so effektiv ein neues Archiv mit dem Namen „last_entry.zip“, das nur die verbleibende Datei enthält.

Datei aus TAR entfernen

Die Methode delete_entry eignet sich auch zum Entfernen von Einträgen aus einem TAR-Archiv. Dieser Prozess läuft unabhängig ab, sodass keine erneute Verarbeitung des gesamten Archivs erforderlich ist. Durch die Verwendung der delete_entry-Methode für TAR-Dateien, wie im Beispiel unten gezeigt, können Einträge nahtlos gelöscht werden, wodurch sichergestellt wird, dass die verbleibenden Einträge nicht beeinträchtigt werden und keiner Dekomprimierung oder erneuten Komprimierung unterzogen werden.

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

Wenn Sie Einträge aus komprimiertem TAR (*.tar.gz) löschen möchten, müssen Sie es in einfaches *.tar dekomprimieren.

CPIO Datei aus Archiv entfernen

Einträge können aus CPIO ähnlich wie bei TAR gelöscht werden.

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

Denken Sie daran, dass die Methode delete_entry die Archivinstanz zurückgibt. Dies wird Ihnen in manchen Fällen dabei helfen, Ihren Code kompakter zu gestalten.

Aus XAR-Dateien löschen

Das Xar-Archiv verfügt auch über die Löschmethode „delete_entry“ für einzelne Einträge.
In diesem Beispiel werden alle Einträge bis auf den letzten entfernt.

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

Dieses Beispiel zeigt eine isolierte Verarbeitung, d. h. es ändert das Archiv, ohne den komprimierten Zustand der verbleibenden Einträge zu beeinträchtigen. Der Code löscht iterativ Einträge aus „archive.xar“, bis nur noch einer übrig ist. Abschließend wird das resultierende Archiv als „last.xar“ gespeichert.

Weitere unterstützte Aspose.ZIP für Python.Net-API-Funktionen

Mit der Aspose.ZIP-Bibliothek in Python.Net können Sie verschiedene Aufgaben im Zusammenhang mit ZIP-Dateidokumenten nahtlos erledigen. Unabhängig davon, ob Sie Formate konvertieren, Dateien zusammenführen, Inhalte bearbeiten oder Daten extrahieren müssen, bietet Aspose.ZIP umfassende Funktionen, um Ihren Arbeitsablauf zu optimieren und die Produktivität zu steigern.

  

Support and Learning Resources

  
  

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