Frage von FoxLPstream, 100

Wie durchsuchen ich Unterordner in Python?

Kann mir jemand einen kurzen Ausschnitt von einem script schreiben, welche einen Ordner (mit Unterordner) durchsucht und alle .Blend Dateien findet?

Expertenantwort
von TeeTier, Community-Experte für programmieren, 71

So zum Beispiel:

#!/usr/bin/python3

import os, os.path

def find_files(root, ext):
for root, dirs, files in os.walk(root):
for f in files:
if f.lower().endswith(ext):
f = os.path.join(root, f)
yield f

for d in dirs:
d = os.path.join(root, d)
find_files(d, ext)

if __name__ == '__main__':
for f in find_files('../../java', '.class'):
print(f)

Falls du nicht in einer Schleife über den Generator iterieren willst, kannst du auch einfach mit ...

all_files = list(find_files('path/', '.blend'))

... eine Liste erzeugen, welches alle rekursiv gefundenen Dateien enthält! :)

Ich denke, das Beispiel ist selbsterklärend. Wenn nicht, lerne erst die Python-Grundlagen!

Viel Spaß! :)

Kommentar von TeeTier ,

PS: Die rekursive "for d in dirs" Schleife solltest du weglassen, es sei denn, du willst explizit die Verzeichnisse verarbeiten, was aber u. U. zu doppelten Treffern führt!

Antwort
von safur, 61

Schon mal hier geguckt..

http://pythonbook.hajji.name/de/files.html

Evtl. auch
mediasonics.ch/_archiv/programming_python/projekt/11.html

Kommentar von FoxLPstream ,

Ja, aber ich hätte es gerne erklärt, da ich mich in das Thema einarbeiten möchte

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten