python 存在するフォルダやファイルの一覧を取得する

pythonで、os.listdir関数を使って、存在するフォルダやファイルの一覧を取得するサンプルコードを記述してます。pythonのバージョンは3.8.5を使用してます。
環境
- OS windows10 pro 64bit
- python 3.8.5
フォルダやファイルの一覧を取得
os.listdir関数を使用すれば、フォルダやファイルの一覧を取得することが可能です。
1 2 3 4 5 6 |
import os # カレントディレクトリある一覧を取得 print(os.listdir("./")) # ['foo', 'foo.txt', 'sample.py'] |
フォルダ構成

条件を指定してフォルダやファイルの一覧を取得
条件を指定して取得したい場合は「glob」を使用します。
fooフォルダ配下の全ての拡張子が「.txt」のものを取得するには、「ワイルドカード*」を利用します。
1 2 3 4 5 6 7 8 9 |
import glob for name in glob.glob('./foo/*.txt'): print(name) # ./foo\bar.txt # ./foo\foo.txt # ./foo\test.txt |
fooファルダ構成

「t」から始まるフォルダやファイルのみを取得するには「t*」とします。
1 2 3 4 5 6 7 8 |
import glob for name in glob.glob('./foo/t*'): print(name) # ./foo\test.docx # ./foo\test.txt |
ファイル名が3文字のもので拡張子が「.txt」のもののみを取得する場合は、
「???.txt」とします。
1 2 3 4 5 6 7 8 |
import glob for name in glob.glob('./foo/???.txt'): print(name) # ./foo\bar.txt # ./foo\foo.txt |
全てのフォルダやファイル一覧を、再帰的に取得する場合は、「recursive=True」を使用して、パスに「 ** 」を付けます。
1 2 3 4 5 |
import glob print( glob.glob("./foo/**", recursive=True) ) # ['./foo\\', './foo\\bar', './foo\\bar\\hoge', './foo\\bar\\hoge\\hoge.txt', './foo\\bar.txt', './foo\\foo.txt', './foo\\test.docx', './foo\\test.txt'] |
fooファルダ構成

-
前の記事
Ruby 配列の値をランダムに1つ抽出する 2021.02.06
-
次の記事
javascript beforeで直前のノードにテキストや要素を追加する 2021.02.06
コメントを書く