Ein Verzeichniss nach allen .txt dateien absuchen

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
Felix Eckert
User
Beiträge: 31
Registriert: Samstag 10. Juni 2017, 10:53

Hallo,

ich würde gerne ein Verzeichnis nach allen z.B.: .txt dateien absuchen, ich habe dort schon eine Lösung:

Code: Alles auswählen

import os

for root, dirs, files in os.walk("/Users/FelixEckert/Desktop"):
    for name in files:
        if name.endswith((".txt")):
           print(name)
Dies Funktioniert allerdings nur für ein Unterverzeichnis wenn dieses allerdings auch eines hat (z.B.:/Unterverzeichnis/NochEins)und dort drin sich auch eine .txt Datei befindet wird Dieser Name nicht ausgegeben. Kennt dort jemand eine Lösung?
Sirius3
User
Beiträge: 18260
Registriert: Sonntag 21. Oktober 2012, 17:20

@Felix Eckert: das kann nicht sein, da alle Verzeichnisse durchgegangen werden. Bis Du sicher, dass das Verzeichnis korrekt ist und .txt-Dateien enthält?
Benutzeravatar
snafu
User
Beiträge: 6854
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Übrigens könnte man auch pathlib verwenden:

Code: Alles auswählen

from pathlib import Path

root = Path("/Users/FelixEckert/Desktop")
for path in root.rglob("*.txt"):
    if path.is_file():
        print(path)
Kommt aufs Gleiche raus, ist aber eine andere Schnittstelle. Ich finde es leichter damit als mit os.walk().
Felix Eckert
User
Beiträge: 31
Registriert: Samstag 10. Juni 2017, 10:53

snafu hat geschrieben:Übrigens könnte man auch pathlib verwenden:

Code: Alles auswählen

from pathlib import Path

root = Path("/Users/FelixEckert/Desktop")
for path in root.rglob("*.txt"):
    if path.is_file():
        print(path)
Kommt aufs Gleiche raus, ist aber eine andere Schnittstelle. Ich finde es leichter damit als mit os.walk().
Aus irgendeinen Grund funktioniert es mit Pathlib, Dankesehr!
Antworten