Wie man Dateien in Python entpackt

Azaz Farooq 10 Oktober 2023
  1. Entpacken von Dateien in Python mit der extractall() Methode in das Arbeitsverzeichnis
  2. Entpacken von Dateien in Python mit der extractall() Methode in ein anderes Verzeichnis
  3. Entpacken von Dateien in Python mit der extractall() Methode basierend auf der Bedingung
  4. Entpacken von Dateien in Python mit der Methode unpack_archive()
Wie man Dateien in Python entpackt

Eine ZIP Datei hat ein Archivdateiformat und hilft bei der verlustfreien Datenkompression. Eine einzelne ZIP-Datei kann mehr als eine komprimierte Datei enthalten. In einer ZIP-Datei werden mehrere Dateien schneller übertragen als in einer einzigen Datei, und die Größe der Daten wird dadurch verringert. Das in Python eingebaute ZipFile-Modul kann zum Entpacken der Zip-Dateien verwendet werden.

In diesem Artikel werden die verschiedenen Methoden zum Extrahieren der komprimierten oder Zip-Dateien in Python besprochen.

Entpacken von Dateien in Python mit der extractall() Methode in das Arbeitsverzeichnis

Zuerst importieren wir das in Python eingebaute zipfile-Modul mit dem unten stehenden Befehl.

from zipfile import ZipFile

Der vollständige Beispielcode lautet wie folgt:

from zipfile import ZipFile

test_file_name = "my_files.zip"

with ZipFile(test_file_name, "r") as zip:
    zip.printdir()
    zip.extractall()

Das r in der Funktion ZipFile repräsentiert den Lesevorgang der Datei, während die Funktion extractall() den Inhalt der Zip-Datei in das aktuelle Arbeitsverzeichnis extrahiert.

Ausgabe:

 File Name         Modified                  Size
file1.txt          2020-11-09 23:03:06        0
file2.txt          2020-11-09 23:03:18        0

Entpacken von Dateien in Python mit der extractall() Methode in ein anderes Verzeichnis

Diese Methode extrahiert die Zip-Dateien, aber in ein anderes Verzeichnis. Der Hauptunterschied besteht darin, dass wir bei der extractall() Methode das Zielverzeichnis als Argument übergeben.

Der vollständige Beispielcode lautet wie folgt:

from zipfile import ZipFile

with ZipFile("my_files.zip", "r") as zip:
    zip.extractall("temp")
    print("File is unzipped in temp folder")

Ein neues Verzeichnis temp wird im aktuellen Arbeitsverzeichnis angelegt, und alle Zip-Dateien werden dort extrahiert.

Ausgabe:

Files are unzipped in temp folder

Entpacken von Dateien in Python mit der extractall() Methode basierend auf der Bedingung

Diese Methode ist praktisch, wenn Sie eine große Anzahl von Dateien in einer Zip-Datei haben und Sie Dateien mit einer bestimmten Erweiterung extrahieren müssen. Wir werden zum Beispiel .txt Dateien aus der Zip-Datei extrahieren.

Der vollständige Beispielcode lautet wie folgt:

from zipfile import ZipFile

with ZipFile("my_files.zip", "r") as obj_zip:
    FileNames = obj_zip.namelist()
    for fileName in FileNames:
        if fileName.endswith(".txt"):
            zipObj.extract(fileName, "temp_txt")

Die Funktion namelist() gibt die Namen aller Dateien in der Zip-Datei zurück.

Die Methode endswith() prüft, ob der Dateiname mit .txt endet. Wenn dies der Fall ist, extrahiert die Funktion extract() die .txt-Dateien in den Ordner temp_txt im aktuellen Arbeitsverzeichnis.

Entpacken von Dateien in Python mit der Methode unpack_archive()

Diese Methode verwendet das in Python eingebaute shutil-Modul. Es extrahiert alle Formate der archivierten Dateien.

Der vollständige Beispielcode lautet wie folgt:

import shutil

shutil.unpack_archive("test.zip")

Die extrahierten Dateien befinden sich im aktuellen Arbeitsverzeichnis, in dem Sie dieses Skript ausführen.