Pythonで再帰的に全てのファイルやディレクトリのリストを作るときは、os.walk()とジェネレーター(yield)を組み合わせた関数を作っとくと楽。 $ 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