拙著『Excel VBAユーザーのためのPythonプログラミング入門』で、p.238で標準ライブラリの1つosモジュールのgetcwd(Get Current Working Directory)関数を紹介しています。
『Excel VBAユーザーのためのPythonプログラミング入門』p.235より
osモジュールには、他にもたくさんの便利な関数が用意されています。
os.listdirでファイルのリストを取得
os.listdir関数を使うと、指定したフォルダー(ディレクトリ)に含まれるファイルをリストとして取得できます。
Cドライブのtmpフォルダーが以下のような構成だったときに
C:\tmp\ ├─ sub_fol_1 ├─ sub_fol_2 ├─ sample_1.txt ├─ sample_2.txt └─ sample_3.txt
以下のコードを、拙著で多用しているIDLEのShellウィンドウで実行すると、
os.listsdir(r'C:tmp')
以下のように、フォルダーとファイルの一覧をリストとして取得できます。
['sample_1.txt', 'sample_2.txt', 'sample_3.txt', 'sub_fol_1', 'sub_fol_2']
特定の拡張子のファイルの一覧を取得
特定の拡張子のファイルの一覧を取得したいというニーズも、あることでしょう。
その場合、以下のようなコードです。
for i in os.listdir(r'C:\tmp'):
if i.endswith('.txt'):
print(i)
拙著のp.134で簡単にご紹介しているstr.endswithメソッドを使って、最後が「.txt」であるかを判定して、Trueだった場合にファイル名をprintしています。
Cドライブtmpフォルダーが先ほどの構成の場合、上記のコードで、
sample_1.txt
sample_2.txt
sample_3.txt
が出力されます。
最終更新日時:2024-01-19 17:42
Home » 『Excel VBAユーザーのためのPythonプログラミング入門』 » Pythonではosモジュールのlistdir関数でファイルのリストを取得できる