898 Stimmen

Entpacken von Dateien in Python

Ich habe mir die zipfile Dokumentation aber ich konnte nicht verstehen, wie man entpacken eine Datei, sondern nur, wie man eine Datei zippt. Wie entpacke ich den gesamten Inhalt einer Zip-Datei in dasselbe Verzeichnis?

3 Stimmen

7 Stimmen

Für eine einzeilige Extraktion, siehe shutil.unpack_archive() .

1 Stimmen

Die Antwort von @fonini ist - ab 2021 - die richtige/beste: stackoverflow.com/a/64110098/687896

16voto

Indika K Punkte 1252

Wenn Sie dies in der Shell tun möchten, anstatt Code zu schreiben.

 python3 -m zipfile -e myfiles.zip myfiles/

myfiles.zip ist das Zip-Archiv und myfiles ist der Pfad zum Extrahieren der Dateien.

15voto

Nicoolasens Punkte 1891
from zipfile import ZipFile
ZipFile("YOURZIP.zip").extractall("YOUR_DESTINATION_DIRECTORY")

Das Verzeichnis, in das Sie Ihre Dateien entpacken werden, muss noch nicht existieren, benennen Sie es jetzt

YOURZIP.zip ist der Name der ZIP-Datei, wenn sich Ihr Projekt im selben Verzeichnis befindet. Wenn nicht, verwenden Sie den PATH, d.h. C://....//YOURZIP.zip

Denken Sie daran, dem / durch einen anderen / auf dem PATH Wenn Sie eine permission denied Versuchen Sie, Ihr Ide (d.h. Anaconda) als Administrator zu starten

YOUR_DESTINATION_DIRECTORY wird im gleichen Verzeichnis wie Ihr Projekt erstellt

13voto

Done Jin Punkte 137

Versuchen Sie dies:

import zipfile
def un_zipFiles(path):
    files=os.listdir(path)
    for file in files:
        if file.endswith('.zip'):
            filePath=path+'/'+file
            zip_file = zipfile.ZipFile(filePath)
            for names in zip_file.namelist():
                zip_file.extract(names,path)
            zip_file.close() 

Pfad : Pfad der entpackten Datei

3voto

user3911901 Punkte 39
import os 
zip_file_path = "C:\AA\BB"
file_list = os.listdir(path)
abs_path = []
for a in file_list:
    x = zip_file_path+'\\'+a
    print x
    abs_path.append(x)
for f in abs_path:
    zip=zipfile.ZipFile(f)
    zip.extractall(zip_file_path)

Diese enthält keine Validierung für die Datei, wenn es sich nicht um eine zip-Datei handelt. Wenn der Ordner eine Nicht-Zip-Datei enthält, schlägt sie fehl.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X