Python-ZIP-Datei mit Beispiel
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)
Der folgende Befehl gibt Ihnen die Kontrolle über die Dateien, 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
- Make_archive-Klasse aus Modul Shutil importieren
- 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 Root-Verzeichnis der Dinge, die gezippt werden sollen. Also wird alles im Verzeichnis gezippt
- Wenn Sie den Code ausführen, können Sie sehen, dass die Archiv-ZIP-Datei auf der rechten Seite des Bedienfelds 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, und Ihre Archivdateien werden darin angezeigt, wie unten gezeigt
Jetzt erscheint Ihre archive.zip-Datei auf Ihrem Betriebssystem (Windows Explorer)
Schritt 3) Wenn Sie auf die Datei doppelklicken, sehen Sie die Liste aller darin enthaltenen Dateien.
Schritt 4) In Python haben wir mehr Kontrolle über das Archiv, da wir definieren können, welche spezifische Datei unter Archiv eingeschlossen werden soll. In unserem Fall werden wir zwei Dateien in das Archiv „guru99.txt“ aufnehmen und "guru99.txt.bak".
Code-Erklärung
- Importieren Sie die Zipfile-Klasse aus dem Zip-Datei-Python-Modul. Dieses Modul gibt 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 Weitergabe einer Berechtigung, da es sich um eine Datei handelt, sodass Sie Informationen als newzip in die Datei schreiben müssen
- Wir haben die Variable „newzip“ verwendet, um auf die von uns erstellte ZIP-Datei zu verweisen
- Mit der Write-Funktion auf die „newzip“-Variable fügen wir die Dateien „guru99.txt“ und „guru99.txt.bak“ dem 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 wirdHinweis :Hier geben wir keinen Befehl zum „Schließen“ der Datei wie „newzip.close“, da wir die Bereichssperre „With“ verwenden. Wenn das Programm also 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 (Windows Explorer) auswählen , werden die Archivdateien im Ordner wie unten gezeigt angezeigt.
Wenn Sie auf die Datei „testguru99.zip“ doppelklicken, öffnet sich ein weiteres Fenster, 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)“
Python
- Python-Datei-I/O
- Java BufferedReader:Lesen von Dateien in Java mit Beispiel
- Python String strip() Funktion mit BEISPIEL
- Python String count() mit BEISPIELE
- Python-Funktion round() mit BEISPIELE
- Python map() Funktion mit BEISPIELE
- Python Timeit() mit Beispielen
- Python-Zähler in Sammlungen mit Beispiel
- Python List count() mit BEISPIELE
- Python List index() mit Beispiel