【python Tips】ディレクトリ内のファイルのパスを取得する
特定のディレクトリにあるファイル名とディレクトリ名を取得する方法の紹介です。今回はglobモジュールを使っていき、下記の様なフォルダ構成を例にしていきます。
├─dir1
│ ├─ file1.txt
│ ├─ file2.txt
│ └─ file3.py
└─dir2
実際にやってみる
import glob
dir1_files = glob.glob('dir1/*')
print(dir1_files)
--> ['dir1/file2.txt', 'dir1/file1.txt', 'dir1/file3.py']
globモジュールのglob関数に取得したいファイルなどがあるディレクトリの相対パスか絶対パスの正規表現やワイルドカードを使った文字列を引数とすると、それらのパスの文字列のリストが得られます。なお注意点は特に指定しないとファイルパスとディレクトリパスも取得するのでファイルパスのみ取得したい場合、ワイルドカードや正規表現を駆使する必要があります。下記に簡単な例を書きます。
import glob
# 拡張子が.txtのファイルのパスを取得する
dir1_files = glob.glob('dir1/*.txt')
print(dir1_files)
--> ['dir1/file2.txt', 'dir1/file1.txt']