Erstellen ein Zip-Archiv eines Verzeichnisses mit Python

Vaibhav Vaibhav 23 Januar 2022
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 sind zip (erfordert das Modul zlib), tar, gztar (erfordert das Modul zlib), bztar (erfordert das Modul bz2) und xztar (erfordert lzma 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 zum root_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.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Verwandter Artikel - Python Dictionary