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?
2 Antworten
Schon mal hier geguckt..
http://pythonbook.hajji.name/de/files.html
Evtl. auch
mediasonics.ch/_archiv/programming_python/projekt/11.html
Ja, aber ich hätte es gerne erklärt, da ich mich in das Thema einarbeiten möchte
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ß! :)
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!