Python ZIP αρχείο με Παράδειγμα

Anonim

Το Python σάς επιτρέπει να δημιουργείτε γρήγορα αρχεία zip / tar.

Η ακόλουθη εντολή θα συμπιέσει ολόκληρο τον κατάλογο

shutil.make_archive(output_filename, 'zip', dir_name)

Η ακόλουθη εντολή σάς δίνει τον έλεγχο των αρχείων που θέλετε να αρχειοθετήσετε

ZipFile.write(filename)

Ακολουθούν τα βήματα για τη δημιουργία Zip File στο Python

Βήμα 1) Για να δημιουργήσετε ένα αρχείο αρχειοθέτησης από την Python, βεβαιωθείτε ότι έχετε τη δήλωση εισαγωγής σωστή και σωστή. Εδώ είναι η δήλωση εισαγωγής για το αρχείο

from shutil import make_archive

Επεξήγηση κώδικα

  • Εισαγωγή κλάσης make_archive από το κλείσιμο μονάδας
  • Χρησιμοποιήστε τη συνάρτηση split για να διαχωρίσετε τον κατάλογο και το όνομα αρχείου από τη διαδρομή προς τη θέση του αρχείου κειμένου (guru99)
  • Στη συνέχεια καλούμε την ενότητα "shutil.make_archive (" αρχείο9999, "zip", root_dir) "για να δημιουργήσουμε ένα αρχείο αρχειοθέτησης, το οποίο θα είναι σε μορφή zip
  • Μετά από αυτό περνάμε στον ριζικό κατάλογο των πραγμάτων που θέλουμε να συμπιεστούν. Έτσι, όλα στον κατάλογο θα συμπιεστούν
  • Όταν εκτελείτε τον κώδικα, μπορείτε να δείτε ότι το αρχείο zip αρχείο έχει δημιουργηθεί στη δεξιά πλευρά του πίνακα.

Βήμα 2)

  • Μόλις δημιουργηθεί το αρχείο αρχειοθέτησής σας, μπορείτε να κάνετε δεξί κλικ στο αρχείο και να επιλέξετε το λειτουργικό σύστημα και θα εμφανίσει τα αρχεία αρχειοθέτησής σας όπως φαίνεται παρακάτω

    Τώρα το αρχείο archive.zip θα εμφανιστεί στο λειτουργικό σας σύστημα (Εξερεύνηση των Windows)

    Βήμα 3) Όταν κάνετε διπλό κλικ στο αρχείο, θα δείτε τη λίστα με όλα τα αρχεία εκεί.

    Βήμα 4) Στην Python μπορούμε να έχουμε περισσότερο έλεγχο στο αρχείο, αφού μπορούμε να ορίσουμε ποιο συγκεκριμένο αρχείο θα συμπεριληφθεί στο αρχείο. Στην περίπτωσή μας, θα συμπεριλάβουμε δύο αρχεία στο αρχείο "guru99.txt" και "guru99.txt.bak".

    Επεξήγηση κώδικα

    • Εισαγωγή κλάσης Zipfile από τη μονάδα zip Python. Αυτή η ενότητα παρέχει πλήρη έλεγχο στη δημιουργία αρχείων zip
    • Δημιουργούμε ένα νέο Zipfile με όνομα ("testguru99.zip," w ")
    • Για να δημιουργήσετε μια νέα τάξη Zipfile, απαιτείται να μεταβιβάσετε άδεια επειδή είναι αρχείο, επομένως πρέπει να γράψετε πληροφορίες στο αρχείο ως newzip
    • Χρησιμοποιήσαμε τη μεταβλητή "newzip" για να αναφερθούμε στο αρχείο zip που δημιουργήσαμε
    • Χρησιμοποιώντας τη συνάρτηση εγγραφής στη μεταβλητή "newzip", προσθέτουμε τα αρχεία "guru99.txt" και "guru99.txt.bak" στο αρχείο

    Όταν εκτελείτε τον κώδικα μπορείτε να δείτε ότι το αρχείο έχει δημιουργηθεί στη δεξιά πλευρά του πίνακα με το όνομα "guru99.zip"

    Σημείωση : Εδώ δεν δίνουμε καμία εντολή για "κλείσιμο" του αρχείου όπως "newzip.close" επειδή χρησιμοποιούμε το κλείδωμα πεδίου "Με", οπότε όταν το πρόγραμμα πέφτει εκτός αυτού του πεδίου, το αρχείο θα καθαριστεί και θα κλείσει αυτόματα.

    Βήμα 5) Όταν -> κάντε δεξί κλικ στο αρχείο (testguru99.zip) και -> επιλέξτε το λειτουργικό σας σύστημα (Windows Explorer) , θα εμφανίσει τα αρχεία αρχειοθέτησης στο φάκελο όπως φαίνεται παρακάτω.

    Όταν κάνετε διπλό κλικ στο αρχείο "testguru99.zip", θα ανοίξει ένα άλλο παράθυρο και αυτό θα εμφανίσει τα αρχεία που περιλαμβάνονται σε αυτό.

    Εδώ είναι ο πλήρης κωδικός

    Παράδειγμα Python 2

    εισαγωγή osεισαγωγή κλεισίματοςαπό zipfile εισαγωγή ZipFileαπό τη διαδρομή εισαγωγής osαπό το κλείσιμο εισαγωγής make_archivedef main ():# Ελέγξτε εάν υπάρχει αρχείοεάν path.exists ("guru99.txt"):# λάβετε τη διαδρομή προς το αρχείο στον τρέχοντα κατάλογοsrc = path.realpath ("guru99.txt");# μετονομάστε το αρχικό αρχείοos.rename ("career.guru99.txt", "guru99.txt")# τώρα βάλτε τα πράγματα σε ένα αρχείο ZIProot_dir, tail = path.split (src)shutil.make_archive ("αρχείο guru99", "zip", root_dir)# πιο λεπτομερής έλεγχος σε αρχεία ZIPμε το ZipFile ("testguru99.zip", "w") ως newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")αν __name __ == "__main__":κύριος()

    Παράδειγμα Python 3

    εισαγωγή osεισαγωγή κλεισίματοςαπό zipfile εισαγωγή ZipFileαπό τη διαδρομή εισαγωγής osαπό το κλείσιμο εισαγωγής make_archive# Ελέγξτε εάν υπάρχει αρχείοεάν path.exists ("guru99.txt"):# λάβετε τη διαδρομή προς το αρχείο στον τρέχοντα κατάλογοsrc = path.realpath ("guru99.txt");# μετονομάστε το αρχικό αρχείοos.rename ("career.guru99.txt", "guru99.txt")# τώρα βάλτε τα πράγματα σε ένα αρχείο ZIProot_dir, tail = path.split (src)shutil.make_archive ("αρχείο guru99", "zip", root_dir)# πιο λεπτομερής έλεγχος σε αρχεία ZIPμε το ZipFile ("testguru99.zip", "w") ως newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")

    Περίληψη

    • Για να συμπιέσετε ολόκληρο τον κατάλογο χρησιμοποιήστε την εντολή "shutil.make_archive (" name "," zip ", root_dir)
    • Για να επιλέξετε τα αρχεία προς zip χρησιμοποιήστε την εντολή "ZipFile.write (όνομα αρχείου)"