ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ

Σε ορισμένες περιπτώσεις, είναι απαραίτητο να διαγράψετε επιλεκτικά αρχεία από το αρχείο. Η αφαίρεση μπορεί να πραγματοποιηθεί με βάση μια μάσκα ή οποιοδήποτε άλλο κριτήριο.
Το Aspose.ZIP υποστηρίζει επιλεκτική διαγραφή από διάφορες μορφές.

Python Αφαίρεση αρχείου από το αρχείο ZIP

Η μέθοδος delete_entry χρησιμοποιείται για τη διαγραφή μιας ολόκληρης καταχώρησης από ένα αρχείο ZIP. Αυτή η λειτουργία είναι ανεξάρτητη και δεν απαιτεί επανεπεξεργασία ολόκληρου του αρχείου.
Οι καταχωρήσεις του αρχείου ZIP μπορούν να διαγραφούν χρησιμοποιώντας το ζεύγος μεθόδων DeleteEntry . Η διαγραφή μιας καταχώρισης πραγματοποιείται χωρίς επανασυσκευασία, επομένως άλλες καταχωρήσεις παραμένουν αμετάβλητες χωρίς να αποσυμπιεστούν και να επανασυμπιεστούν.

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

Αυτός ο κώδικας επεξεργάζεται το υπάρχον αρχείο ZIP "archive.zip". Καταργεί διαδοχικά όλες τις εγγραφές εκτός από την τελευταία, δημιουργώντας ουσιαστικά ένα νέο αρχείο με το όνομα "last_entry.zip" που περιέχει μόνο το υπόλοιπο αρχείο.

Αφαίρεση αρχείου από το TAR

Η μέθοδος delete_entry είναι επίσης αποτελεσματική για την αφαίρεση εγγραφών από ένα αρχείο TAR. Αυτή η διαδικασία λειτουργεί ανεξάρτητα, εξαλείφοντας την ανάγκη επανεπεξεργασίας ολόκληρου του αρχείου. Χρησιμοποιώντας τη μέθοδο delete_entry για αρχεία TAR, όπως φαίνεται στο παρακάτω παράδειγμα, οι εγγραφές μπορούν να διαγραφούν απρόσκοπτα, διασφαλίζοντας ότι οι υπόλοιπες εγγραφές δεν επηρεάζονται και δεν υφίστανται αποσυμπίεση ή επανασυμπίεση.

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

Εάν θέλετε να διαγράψετε καταχωρήσεις από συμπιεσμένο πίσσα (*.tar.gz), είναι απαραίτητο να το αποσυμπιέσετε σε απλό *.tar.

CPIO Αφαίρεση αρχείου από το αρχείο

Οι καταχωρήσεις μπορούν να διαγραφούν από το CPIO παρόμοιο με το TAR.

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

Θυμηθείτε, η μέθοδος delete_entry επιστρέφει την παρουσία αρχειοθέτησης. Αυτό θα σας βοηθήσει να κάνετε τον κώδικά σας πιο συμπαγή σε ορισμένες περιπτώσεις.

Διαγραφή από αρχεία XAR

Το αρχείο Xar έχει επίσης μέθοδο διαγραφής μίας καταχώρισης delete_entry.
Σε αυτό το δείγμα αφαιρούνται όλες οι εγγραφές εκτός από την τελευταία.

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

Αυτό το παράδειγμα παρουσιάζει απομονωμένη επεξεργασία, που σημαίνει ότι τροποποιεί το αρχείο χωρίς να επηρεάζει τη συμπιεσμένη κατάσταση των υπολειπόμενων καταχωρήσεων. Ο κώδικας διαγράφει επαναληπτικά τις εγγραφές από το "archive.xar" μέχρι να μείνει μόνο μία. Τέλος, το αρχείο που προκύπτει αποθηκεύεται ως "last.xar".

Άλλες υποστηριζόμενες δυνατότητες Aspose.ZIP για Python.Net API

Με τη βιβλιοθήκη Aspose.ZIP στο Python.Net, μπορείτε να χειρίζεστε απρόσκοπτα διάφορες εργασίες που σχετίζονται με έγγραφα αρχείων ZIP. Είτε θέλετε να μετατρέψετε μορφές, να συγχωνεύσετε αρχεία, να επεξεργαστείτε περιεχόμενα ή να εξαγάγετε δεδομένα, το Aspose.ZIP παρέχει ολοκληρωμένη λειτουργικότητα για τον εξορθολογισμό της ροής εργασίας σας και τη βελτίωση της παραγωγικότητας.

  
  

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