Python ZIP-Datei mit Beispiel

Python ermöglicht Ihnen die schnelle Erstellung von Zip-/Tar-Archiven.

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) So erstellen Sie eine Archivdatei aus Python, stellen Sie sicher, dass Ihre Importanweisung korrekt und in der richtigen Reihenfolge ist. Hier lautet die Importanweisung für das Archiv from shutil import make_archive

Python ZIP-Datei

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 aufzuteilen (guru99).
  • Dann rufen wir das Modul „shutil.make_archive(„guru99 archive“, „zip“, root_dir)“ auf, um eine Archivdatei im Zip-Format zu erstellen.
  • Danach übergeben wir das Stammverzeichnis der Dinge, die wir komprimieren möchten. Daher wird alles im Verzeichnis gezippt
  • Wenn Sie den Code ausführen, können Sie auf der rechten Seite des Fensters sehen, dass die ZIP-Archivdatei erstellt wird.

Schritt 2) Sobald Ihre Archivdatei erstellt ist, können Sie mit der rechten Maustaste auf die Datei klicken und das Betriebssystem auswählen. Ihre Archivdateien werden darin wie unten gezeigt angezeigt.

Python ZIP-Datei

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

Python ZIP-Datei

Schritt 3) Wenn Sie auf die Datei doppelklicken, wird die Liste aller darin enthaltenen Dateien angezeigt.

Python ZIP-Datei

Schritt 4) In Python Wir haben mehr Kontrolle über das Archiv, da wir definieren können, welche spezifische Datei in das Archiv aufgenommen werden soll. In unserem Fall werden wir zwei Dateien in das Archiv aufnehmen „guru99.txt“ und „guru99.txt.bak“.

Python ZIP-Datei

Code Erklärung

  • Zipfile-Klasse aus Zip-Datei importieren Python Modul. Dieses Modul gibt volle Kontrolle über die Erstellung von Zip-Dateien
  • Wir erstellen eine neue Zip-Datei mit dem Namen („testguru99.zip, „w“)
  • Das Erstellen einer neuen Zipfile-Klasse erfordert die Übergabe einer 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 auf die Variable „newzip“ fügen wir die Dateien „guru99.txt“ und „guru99.txt.bak“ zum Archiv hinzu

Wenn Sie den Code ausführen, können Sie sehen, dass die Datei auf der rechten Seite des Panels mit dem Namen „guru99.zip“ erstellt wird.

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

Schritt 5) Wenn Sie -> Rechtsklick auf die Datei (testguru99.zip) und -> wählen Sie Ihr Betriebssystem aus (Windows Forscher), werden die Archivdateien im Ordner wie unten dargestellt angezeigt.

Python ZIP-Datei

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

Python ZIP-Datei

Hier ist der vollständige Code

Python 2 Beispiel

import os
import shutil
from zipfile import ZipFile
from os import path
from shutil import make_archive

def main():
# Check if file exists
	if path.exists("guru99.txt"):
# get the path to the file in the current directory
	src = path.realpath("guru99.txt");
# rename the original file
	os.rename("career.guru99.txt","guru99.txt")
# now put things into a ZIP archive
	root_dir,tail = path.split(src)
    shutil.make_archive("guru99 archive", "zip", root_dir)
# more fine-grained control over ZIP files
	with ZipFile("testguru99.zip","w") as newzip:
	newzip.write("guru99.txt")
	    newzip.write("guru99.txt.bak")
if __name__== "__main__":
	  main()

Python 3 Beispiel

import os
import shutil
from zipfile import ZipFile
from os import path
from shutil import make_archive

    # Check if file exists
       if path.exists("guru99.txt"):
    # get the path to the file in the current directory
        src = path.realpath("guru99.txt");
    # rename the original file
        os.rename("career.guru99.txt","guru99.txt")
    # now put things into a ZIP archive
        root_dir,tail = path.split(src)
        shutil.make_archive("guru99 archive","zip",root_dir)
    # more fine-grained control over ZIP files
        with ZipFile("testguru99.zip", "w") as 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(filename)“