Pythonでディレクトリ内のファイル一覧を取得する方法

Pythonでディレクトリ内(フォルダ内)のファイル一覧を取得するには、os.listdirを利用します。

os.listdir(path='.')

os.listdirpathで与えられたディレクトリ内に含まれるすべての名称をリスト形式で返します。

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))]

isfilefと指定しまうと、listdirによって取得した名称をワーキングディレクトリから参照してしまうことになりますので注意しましょう。

プログラミングの独学におすすめ
プログラミング言語の人気オンラインコース
独学でプログラミングを学習している方で、エラーなどが発生して効率よく勉強ができないと悩む方は多いはず。Udemyは、プロの講師が動画で実際のプログラムを動かしながら教えてくれるオンライン講座です。講座の価格は、セール期間中には専門書籍を1冊買うよりも安く済むことが多いです。新しく学びたいプログラミング言語がある方は、ぜひUdemyでオンライン講座を探してみてください。
目次