ディレクトリ内のファイルパス一覧を取得する

いろいろな取得方法がありますが glob モジュールを使うのが簡単です。

下記のサンプルでは、c:/tmp/my_data というディレクトリ直下に fail_NNN_result.png というファイルが5個配置してあります。

また、c:/tmp/my_data/training というディレクトリ直下に training_NNN_result.png というファイルが95個配置してあります。

というわけで、c:/tmp 以下には計100個の png ファイルが配置してあります。

c:/tmp/my_data 直下の png ファイルパスを取得する場合

glob() のコンストラクタ引数に検索対象を指定します。
png だけを取得したい場合は *.png とします。
すべてのファイルを取得したい場合は * とします。
すべての拡張子のすべてのファイルを取得したい場合は *.* とします。

import glob

list_filepath = glob.glob( "c:/tmp/my_data/*.png" )

# ファイルの個数を表示する.
print( len( list_filepath ))

for filepath in list_filepath:
    print( filepath )
    
dum = input( "push any key to quit > " )
5
c:/tmp/my_data\fail_000_result.png
c:/tmp/my_data\fail_001_result.png
c:/tmp/my_data\fail_002_result.png
c:/tmp/my_data\fail_003_result.png
c:/tmp/my_data\fail_004_result.png
push any key to quit >

c:/tmp/my_data/training 直下の png ファイルパスを取得する場合

上記のサンプルと同じですが、検索対象のディレクトリが1階層深くなっています。95個のファイルパスが取得できます。

import glob

list_filepath = glob.glob( "c:/tmp/my_data/training/*.png" )

# ファイルの個数を表示する.
print( len( list_filepath ))

for filepath in list_filepath:
    print( filepath )

dum = input( "push any key to quit > " )
95
c:/tmp/my_data/training\training_000_result.png
c:/tmp/my_data/training\training_001_result.png
c:/tmp/my_data/training\training_002_result.png
c:/tmp/my_data/training\training_003_result.png
c:/tmp/my_data/training\training_004_result.png
c:/tmp/my_data/training\training_005_result.png
c:/tmp/my_data/training\training_006_result.png
c:/tmp/my_data/training\training_007_result.png
c:/tmp/my_data/training\training_008_result.png
c:/tmp/my_data/training\training_009_result.png
c:/tmp/my_data/training\training_010_result.png
c:/tmp/my_data/training\training_011_result.png
c:/tmp/my_data/training\training_012_result.png
c:/tmp/my_data/training\training_013_result.png
c:/tmp/my_data/training\training_014_result.png
c:/tmp/my_data/training\training_015_result.png
c:/tmp/my_data/training\training_016_result.png
c:/tmp/my_data/training\training_017_result.png
c:/tmp/my_data/training\training_018_result.png
c:/tmp/my_data/training\training_019_result.png
c:/tmp/my_data/training\training_020_result.png
c:/tmp/my_data/training\training_021_result.png
c:/tmp/my_data/training\training_022_result.png
c:/tmp/my_data/training\training_023_result.png
c:/tmp/my_data/training\training_024_result.png
c:/tmp/my_data/training\training_025_result.png
c:/tmp/my_data/training\training_026_result.png
c:/tmp/my_data/training\training_027_result.png
c:/tmp/my_data/training\training_028_result.png
c:/tmp/my_data/training\training_029_result.png
c:/tmp/my_data/training\training_030_result.png
c:/tmp/my_data/training\training_031_result.png
c:/tmp/my_data/training\training_032_result.png
c:/tmp/my_data/training\training_033_result.png
c:/tmp/my_data/training\training_034_result.png
c:/tmp/my_data/training\training_035_result.png
c:/tmp/my_data/training\training_036_result.png
c:/tmp/my_data/training\training_037_result.png
c:/tmp/my_data/training\training_038_result.png
c:/tmp/my_data/training\training_039_result.png
c:/tmp/my_data/training\training_040_result.png
c:/tmp/my_data/training\training_041_result.png
c:/tmp/my_data/training\training_042_result.png
c:/tmp/my_data/training\training_043_result.png
c:/tmp/my_data/training\training_044_result.png
c:/tmp/my_data/training\training_045_result.png
c:/tmp/my_data/training\training_046_result.png
c:/tmp/my_data/training\training_047_result.png
c:/tmp/my_data/training\training_048_result.png
c:/tmp/my_data/training\training_049_result.png
c:/tmp/my_data/training\training_050_result.png
c:/tmp/my_data/training\training_051_result.png
c:/tmp/my_data/training\training_052_result.png
c:/tmp/my_data/training\training_053_result.png
c:/tmp/my_data/training\training_054_result.png
c:/tmp/my_data/training\training_055_result.png
c:/tmp/my_data/training\training_056_result.png
c:/tmp/my_data/training\training_057_result.png
c:/tmp/my_data/training\training_058_result.png
c:/tmp/my_data/training\training_059_result.png
c:/tmp/my_data/training\training_060_result.png
c:/tmp/my_data/training\training_061_result.png
c:/tmp/my_data/training\training_062_result.png
c:/tmp/my_data/training\training_063_result.png
c:/tmp/my_data/training\training_064_result.png
c:/tmp/my_data/training\training_065_result.png
c:/tmp/my_data/training\training_066_result.png
c:/tmp/my_data/training\training_067_result.png
c:/tmp/my_data/training\training_068_result.png
c:/tmp/my_data/training\training_069_result.png
c:/tmp/my_data/training\training_070_result.png
c:/tmp/my_data/training\training_071_result.png
c:/tmp/my_data/training\training_072_result.png
c:/tmp/my_data/training\training_073_result.png
c:/tmp/my_data/training\training_074_result.png
c:/tmp/my_data/training\training_075_result.png
c:/tmp/my_data/training\training_076_result.png
c:/tmp/my_data/training\training_077_result.png
c:/tmp/my_data/training\training_078_result.png
c:/tmp/my_data/training\training_079_result.png
c:/tmp/my_data/training\training_080_result.png
c:/tmp/my_data/training\training_081_result.png
c:/tmp/my_data/training\training_082_result.png
c:/tmp/my_data/training\training_083_result.png
c:/tmp/my_data/training\training_084_result.png
c:/tmp/my_data/training\training_085_result.png
c:/tmp/my_data/training\training_086_result.png
c:/tmp/my_data/training\training_087_result.png
c:/tmp/my_data/training\training_088_result.png
c:/tmp/my_data/training\training_089_result.png
c:/tmp/my_data/training\training_090_result.png
c:/tmp/my_data/training\training_091_result.png
c:/tmp/my_data/training\training_092_result.png
c:/tmp/my_data/training\training_093_result.png
c:/tmp/my_data/training\training_094_result.png
push any key to quit >

c:/tmp/my_data 以下すべての png ファイルパスを取得する場合

ディレクトリに内包されている対象のファイルを取得するには、検索対象文字列に /**/ を含み、glob() のコンストラクタ引数に recursive=True を指定します。下記のコードを実行すると 5個 + 95個 → 100個のファイルパスが列挙されます。

import glob

# リカーシブにファイルを検索しファイルパスを取得する.
list_filepath = glob.glob( "c:/tmp/my_data/**/*.png", recursive=True )

# ファイルの個数を表示する.
print( len( list_filepath ))

for filepath in list_filepath:
    print( filepath )

dum = input( "push any key to quit > " )
100
c:/tmp/my_data\fail_000_result.png
c:/tmp/my_data\fail_001_result.png
c:/tmp/my_data\fail_002_result.png
c:/tmp/my_data\fail_003_result.png
c:/tmp/my_data\fail_004_result.png
c:/tmp/my_data\training\training_000_result.png
c:/tmp/my_data\training\training_001_result.png
c:/tmp/my_data\training\training_002_result.png
c:/tmp/my_data\training\training_003_result.png
c:/tmp/my_data\training\training_004_result.png
c:/tmp/my_data\training\training_005_result.png
c:/tmp/my_data\training\training_006_result.png
c:/tmp/my_data\training\training_007_result.png
c:/tmp/my_data\training\training_008_result.png
c:/tmp/my_data\training\training_009_result.png
c:/tmp/my_data\training\training_010_result.png
c:/tmp/my_data\training\training_011_result.png
c:/tmp/my_data\training\training_012_result.png
c:/tmp/my_data\training\training_013_result.png
c:/tmp/my_data\training\training_014_result.png
c:/tmp/my_data\training\training_015_result.png
c:/tmp/my_data\training\training_016_result.png
c:/tmp/my_data\training\training_017_result.png
c:/tmp/my_data\training\training_018_result.png
c:/tmp/my_data\training\training_019_result.png
c:/tmp/my_data\training\training_020_result.png
c:/tmp/my_data\training\training_021_result.png
c:/tmp/my_data\training\training_022_result.png
c:/tmp/my_data\training\training_023_result.png
c:/tmp/my_data\training\training_024_result.png
c:/tmp/my_data\training\training_025_result.png
c:/tmp/my_data\training\training_026_result.png
c:/tmp/my_data\training\training_027_result.png
c:/tmp/my_data\training\training_028_result.png
c:/tmp/my_data\training\training_029_result.png
c:/tmp/my_data\training\training_030_result.png
c:/tmp/my_data\training\training_031_result.png
c:/tmp/my_data\training\training_032_result.png
c:/tmp/my_data\training\training_033_result.png
c:/tmp/my_data\training\training_034_result.png
c:/tmp/my_data\training\training_035_result.png
c:/tmp/my_data\training\training_036_result.png
c:/tmp/my_data\training\training_037_result.png
c:/tmp/my_data\training\training_038_result.png
c:/tmp/my_data\training\training_039_result.png
c:/tmp/my_data\training\training_040_result.png
c:/tmp/my_data\training\training_041_result.png
c:/tmp/my_data\training\training_042_result.png
c:/tmp/my_data\training\training_043_result.png
c:/tmp/my_data\training\training_044_result.png
c:/tmp/my_data\training\training_045_result.png
c:/tmp/my_data\training\training_046_result.png
c:/tmp/my_data\training\training_047_result.png
c:/tmp/my_data\training\training_048_result.png
c:/tmp/my_data\training\training_049_result.png
c:/tmp/my_data\training\training_050_result.png
c:/tmp/my_data\training\training_051_result.png
c:/tmp/my_data\training\training_052_result.png
c:/tmp/my_data\training\training_053_result.png
c:/tmp/my_data\training\training_054_result.png
c:/tmp/my_data\training\training_055_result.png
c:/tmp/my_data\training\training_056_result.png
c:/tmp/my_data\training\training_057_result.png
c:/tmp/my_data\training\training_058_result.png
c:/tmp/my_data\training\training_059_result.png
c:/tmp/my_data\training\training_060_result.png
c:/tmp/my_data\training\training_061_result.png
c:/tmp/my_data\training\training_062_result.png
c:/tmp/my_data\training\training_063_result.png
c:/tmp/my_data\training\training_064_result.png
c:/tmp/my_data\training\training_065_result.png
c:/tmp/my_data\training\training_066_result.png
c:/tmp/my_data\training\training_067_result.png
c:/tmp/my_data\training\training_068_result.png
c:/tmp/my_data\training\training_069_result.png
c:/tmp/my_data\training\training_070_result.png
c:/tmp/my_data\training\training_071_result.png
c:/tmp/my_data\training\training_072_result.png
c:/tmp/my_data\training\training_073_result.png
c:/tmp/my_data\training\training_074_result.png
c:/tmp/my_data\training\training_075_result.png
c:/tmp/my_data\training\training_076_result.png
c:/tmp/my_data\training\training_077_result.png
c:/tmp/my_data\training\training_078_result.png
c:/tmp/my_data\training\training_079_result.png
c:/tmp/my_data\training\training_080_result.png
c:/tmp/my_data\training\training_081_result.png
c:/tmp/my_data\training\training_082_result.png
c:/tmp/my_data\training\training_083_result.png
c:/tmp/my_data\training\training_084_result.png
c:/tmp/my_data\training\training_085_result.png
c:/tmp/my_data\training\training_086_result.png
c:/tmp/my_data\training\training_087_result.png
c:/tmp/my_data\training\training_088_result.png
c:/tmp/my_data\training\training_089_result.png
c:/tmp/my_data\training\training_090_result.png
c:/tmp/my_data\training\training_091_result.png
c:/tmp/my_data\training\training_092_result.png
c:/tmp/my_data\training\training_093_result.png
c:/tmp/my_data\training\training_094_result.png
push any key to quit >