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
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.
Jetzt wird Ihre Datei archive.zip auf Ihrem Betriebssystem angezeigt (Windows Forscher)
Schritt 3) Wenn Sie auf die Datei doppelklicken, wird die Liste aller darin enthaltenen Dateien angezeigt.
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โ.
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.
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
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)โ







