Pythonで、あるディレクトリのすべてのファイルをリストアップし、list
に追加するには?
os.listdir()
は、ファイルやディレクトリなど、ディレクトリ内にあるものをすべて取得します。
ファイルだけを取得したい場合は、os.path
を使ってフィルタリングすることができます。
from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
また、os.walk()`を使えば、訪問したディレクトリごとに2つのリストを作成し、ファイルとDirに分けてくれます。一番上のディレクトリだけが必要な場合は、最初に次のような結果が出たときにブレークすることができます。
from os import walk
f = []
for (dirpath, dirnames, filenames) in walk(mypath):
f.extend(filenames)
break