Wenn Sie rekursiv eine Liste aller Dateien und Verzeichnisse in Python erstellen, ist es einfacher, eine Funktion zu erstellen, die "os.walk ()" und einen Generator ("Yield") kombiniert.
Zum Beispiel diese Verzeichnisstruktur
$ tree /tmp/test
/tmp/test
├── 1
│ ├── a
│ │ ├── A
│ │ ├── B
│ │ └── hoge
│ └── b
│ ├── A
│ ├── B
│ └── hoge
└── 2
├── bar
├── c
│ ├── buzz
│ └── fizz
└── foo
9 directories, 6 files
import os
def find_all_files(directory):
for root, dirs, files in os.walk(directory):
yield root
for file in files:
yield os.path.join(root, file)
for file in find_all_files('/tmp/test'):
print file
Ausgabe
/tmp/test
/tmp/test/1
/tmp/test/1/a
/tmp/test/1/a/hoge
/tmp/test/1/a/A
/tmp/test/1/a/B
/tmp/test/1/b
/tmp/test/1/b/hoge
/tmp/test/1/b/A
/tmp/test/1/b/B
/tmp/test/2
/tmp/test/2/bar
/tmp/test/2/foo
/tmp/test/2/c
/tmp/test/2/c/buzz
/tmp/test/2/c/fizz
Recommended Posts