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)
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)".