Python-ZIP-Datei mit Beispiel

Anonim

Mit Python können Sie schnell Zip / Tar-Archive erstellen.

Der folgende Befehl komprimiert das gesamte Verzeichnis

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

Mit dem folgenden Befehl können Sie die Dateien steuern, die Sie archivieren möchten

ZipFile.write(filename)

Hier sind die Schritte zum Erstellen einer Zip-Datei in Python

Schritt 1) Um eine Archivdatei aus Python zu erstellen, stellen Sie sicher, dass Ihre Importanweisung korrekt und in Ordnung ist. Hier ist die Importanweisung für das Archiv

from shutil import make_archive

Code Erklärung

  • Importieren Sie die Klasse make_archive aus dem Modul shutil
  • Verwenden Sie die Split-Funktion, um das Verzeichnis und den Dateinamen vom Pfad zum Speicherort der Textdatei (guru99) aufzuteilen.
  • Dann rufen wir das Modul "shutil.make_archive (" guru99 archive, "zip", root_dir) "auf, um eine Archivdatei zu erstellen, die im Zip-Format vorliegt
  • Danach übergeben wir das Stammverzeichnis der Dinge, die wir komprimieren möchten. Also wird alles im Verzeichnis komprimiert
  • Wenn Sie den Code ausführen, sehen Sie, dass die Archiv-Zip-Datei auf der rechten Seite des Bedienfelds erstellt wird.

Schritt 2)

  • Sobald Ihre Archivdatei erstellt wurde, können Sie mit der rechten Maustaste auf die Datei klicken und das Betriebssystem auswählen. Darin werden Ihre Archivdateien wie unten gezeigt angezeigt

    Jetzt wird Ihre Datei archive.zip auf Ihrem Betriebssystem (Windows Explorer) angezeigt.

    Schritt 3) Wenn Sie auf die Datei doppelklicken, werden in der Liste alle Dateien angezeigt.

    Schritt 4) In Python können wir mehr Kontrolle über das Archiv haben, da wir definieren können, welche spezifische Datei in das Archiv aufgenommen werden soll. In unserem Fall werden wir zwei Dateien unter den Archiven "guru99.txt" und "guru99.txt.bak" einfügen.

    Code Erklärung

    • Importieren Sie die Zipfile-Klasse aus dem Python-Modul der Zip-Datei. Dieses Modul bietet die volle Kontrolle über das Erstellen von Zip-Dateien
    • Wir erstellen eine neue Zip-Datei mit dem Namen ("testguru99.zip," w ")
    • Das Erstellen einer neuen Zipfile-Klasse erfordert die Übergabe der Berechtigung, da es sich um eine Datei handelt. Daher müssen Sie Informationen als newzip in die Datei schreiben
    • Wir haben die Variable "newzip" verwendet, um auf die von uns erstellte Zip-Datei zu verweisen
    • Mit der Schreibfunktion für die Variable "newzip" fügen wir dem Archiv die Dateien "guru99.txt" und "guru99.txt.bak" hinzu

    Wenn Sie den Code ausführen, sehen Sie, dass die Datei auf der rechten Seite des Bedienfelds mit dem Namen "guru99.zip" erstellt wird.

    Hinweis : Hier geben wir keinen Befehl zum "Schließen" der Datei wie "newzip.close", da wir die Bereichssperre "With" verwenden. Wenn das Programm außerhalb dieses Bereichs liegt, wird die Datei bereinigt und automatisch geschlossen.

    Schritt 5) Wenn Sie -> mit der rechten Maustaste auf die Datei (testguru99.zip) klicken und -> Ihr Betriebssystem auswählen (Windows Explorer) , werden die Archivdateien im Ordner wie unten gezeigt angezeigt.

    Wenn Sie auf die Datei "testguru99.zip" doppelklicken, wird ein weiteres Fenster geöffnet, in dem die darin enthaltenen Dateien angezeigt werden.

    Hier ist der vollständige Code

    Python 2 Beispiel

    os importierenShutil importierenaus zipfile importieren Sie ZipFilevom OS-Importpfadvom Shutil-Import make_archivedef main ():# Überprüfen Sie, ob eine Datei vorhanden istwenn path.exists existiert ("guru99.txt"):# Ruft den Pfad zur Datei im aktuellen Verzeichnis absrc = path.realpath ("guru99.txt");# Benennen Sie die Originaldatei umos.rename ("careers.guru99.txt", "guru99.txt")# Jetzt Dinge in ein ZIP-Archiv stellenroot_dir, tail = path.split (src)shutil.make_archive ("guru99 archive", "zip", root_dir)# Feinere Kontrolle über ZIP-Dateienmit ZipFile ("testguru99.zip", "w") als newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")if __name __ == "__main__":Main()

    Python 3 Beispiel

    os importierenShutil importierenaus zipfile importieren Sie ZipFilevom OS-Importpfadvom Shutil-Import make_archive# Überprüfen Sie, ob eine Datei vorhanden istwenn path.exists existiert ("guru99.txt"):# Ruft den Pfad zur Datei im aktuellen Verzeichnis absrc = path.realpath ("guru99.txt");# Benennen Sie die Originaldatei umos.rename ("careers.guru99.txt", "guru99.txt")# Jetzt Dinge in ein ZIP-Archiv stellenroot_dir, tail = path.split (src)shutil.make_archive ("guru99 archive", "zip", root_dir)# Feinere Kontrolle über ZIP-Dateienmit ZipFile ("testguru99.zip", "w") als newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")

    Zusammenfassung

    • Um das gesamte Verzeichnis zu komprimieren, verwenden Sie den Befehl "shutil.make_archive (" name "," zip ", root_dir).
    • Um die zu komprimierenden Dateien auszuwählen, verwenden Sie den Befehl "ZipFile.write (Dateiname)".