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โ€œ , โ€ž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.

Hinweis: 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)โ€œ

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: