Pythonでディレクトリ内(フォルダ内)のファイル一覧を取得するには、os.listdir
を利用します。
os.listdir(path='.')
os.listdir
はpath
で与えられたディレクトリ内に含まれるすべての名称をリスト形式で返します。
from os import listdir
mypath = "target"
files = [f for f in listdir(mypath)]
返り値は次のようになります。
['test01.txt', 'test02.txt']
path
で与えられたディレクトリ内にフォルダがある場合は、そのフォルダの名称も返り値に含まれてしまいます。
['test01.txt', 'test02.txt', 'dir']
そのため、ファイルのみを取得するために、isfile
を利用します。
from os import listdir
from os.path import isfile, join
mypath = "target"
files = [f for f in listdir(mypath) if isfile(join(mypath, f))]
isfile
にf
と指定しまうと、listdirによって取得した名称をワーキングディレクトリから参照してしまうことになりますので注意しましょう。