Erstellen ein Zip-Archiv eines Verzeichnisses mit Python
Die Zip-Datei ist ein Archivdateiformat, das eine oder mehrere komprimierte Dateien enthält. Es unterstützt verlustfreie Datenkomprimierung und ist das weltweit am häufigsten verwendete Archivformat. In diesem Artikel erfahren wir, wie Sie ein Verzeichnis mithilfe der Programmiersprache Python in eine ZIP-Datei konvertieren.
Verwenden der Bibliothek shutil
zum Erstellen eines Zip-Archivs eines Verzeichnisses
Die Bibliothek shutil
ist ein Bestandteil des Standard-Python. Es bietet mehrere High-Level-Funktionen zum Ausführen von Dateien oder Dateigruppen, z. B. Kopieren, Komprimieren, Dekomprimieren und Entfernen. Es hat eine Funktion oder Methode namens make_archive()
, die jedes Verzeichnis oder jeden Ordner in eine ZIP-Archivdatei konvertieren kann. Im Folgenden sind die am häufigsten verwendeten Argumente dieser Funktion aufgeführt.
base_name
: Name der zu erstellenden Datei mit Pfadangabe und ohne Formaterweiterung.format
: Dies ist der Name des Formats des Archivs. Die verfügbaren Optionen sindzip
(erfordert das Modulzlib
),tar
,gztar
(erfordert das Modulzlib
),bztar
(erfordert das Modulbz2
) undxztar
(erfordertlzma
Modul).root_dir
: Dies ist das Verzeichnis, das das Root-Verzeichnis des Archivs sein wird, was bedeutet, dass alle Pfade im Archiv relativ dazu sind. Der Standardwert ist das aktuelle Verzeichnis.base_dir
: Dies ist das Verzeichnis, von dem aus die Archivierung beginnt. Sein Wert sollte relativ zumroot_dir
sein. Der Standardwert ist das aktuelle Verzeichnis.
Nachdem wir nun mit einer kurzen Theorie über das Paket und die erforderliche Funktion fertig sind, lernen wir, wie wir diese Funktion verwenden können, um ein ZIP-Archiv aus einem Verzeichnis zu erstellen.
import os
import shutil
filename = "compressed"
format = "zip"
directory = os.getcwd()
shutil.make_archive(filename, format, directory)
Der obige Code komprimiert das aktuelle Arbeitsverzeichnis in eine Zip-Datei und nennt die Datei compressed.zip
. Beachten Sie, dass wir die Erweiterung (.zip
) im base_name
nicht erwähnt haben.
Verwandter Artikel - Python Dictionary
- Wie man prüft, ob ein Schlüssel in einem Dictionary in Python vorhanden ist
- Konvertieren eines Dictionaries in eine Liste in Python
- So erhalten Sie alle Dateien eines Verzeichnisses
- Wie finde ich den Maximalwert im Python-Dictionary
- Wie man ein Python-Dictionary nach Wert sortiert
- Wie man zwei Wörterbücher in Python 2 und 3 zusammenführen kann