Überprüfe, ob zip Datei schon entzippt wurde

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
fischer-klaus3
User
Beiträge: 27
Registriert: Donnerstag 17. September 2020, 08:07

Hallo!

Ich würde gerne überprüfen, ob eine bestimmte zip - Datei bereits entzippt wurde. Meine Idee war es zu schauen welche Dateien in der zip Datei vorhanden sind und dann mit dem Ordner überprüfen, in dem entzippt wurde, oder werden sollte. Weiter unten findet ihr meinen Versuch. Für mich sieht es nicht nach einer eleganten und schnellen Lösung aus. Wie kann ich diese Lösung etwas eleganten umbauen um zu überprüfen, ob bereits eine bestimmte zip Datei entzippt wurde?

Code: Alles auswählen

    with ZipFile(data_dir + "/data.zip", 'r') as zipObj:
        listOfiles = zipObj.namelist()
        for elem in listOfiles:
            print(elem)
            for file in pathlib.Path(data_dir).glob('*.csv'):
Vielen Dank im Voraus.
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

@fischer-klaus3: da fehlen Zeilen im Code.
Warum benutzt Du unten pathlib, aber für die zip-Datei stückelst Du Strings mit + zuammen?

Warum prüfst Du nicht einfach, ob die Dateien schon existieren?

Code: Alles auswählen

data_path = Path("...")
with ZipFile(data_path / "data.zip") as zipfile:
    if all(
        (data_path / filename).exists()
        for filename in zipfile.namelist()
    ):
        print("schon entpackt")
fischer-klaus3
User
Beiträge: 27
Registriert: Donnerstag 17. September 2020, 08:07

Danke, genau auf sowas war ich nach der Suche, nur habe das falsche gesucht! :) Dankesehr für die schnelle Hilfe!
Antworten