Wie durchsuchen ich Unterordner in Python?

2 Antworten

Schon mal hier geguckt..

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

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

FoxLPstream 
Fragesteller
 21.05.2016, 10:11

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

0

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ß! :)

TeeTier  21.05.2016, 14:03

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!

0