Python listdir フォルダ内のファイルを配列に取得する

Pythonの「listdir」ではフォルダ内のファイルやフォルダの一覧を配列(リスト)取得することができます。

あるフォルダの中に入っているファイルやフォルダを調べたい場合には「listdir」を使います。

今回は、Pythonでフォルダ内のファイルやフォルダを取得する「listdir」の使い方を解説します。

フォルダ内のファイルを取得する listdir

listdir構文

import os
os.listdir(フォルダパス)

まず最初にpython標準のosモジュールを使用するため「import os」とします。

「os.listdir」で任意のフォルダの中身をリストに取得します。

例1. フォルダの中のファイルを取得する

import os
os.listdir('c:\\pg\\file')
#[結果] ['file1.txt', 'file2.txt', 'file3.txt']

Pythonの「listdir」で「c:\pg\test」の中のファイルをすべて取得しました。「c:\pg\test」の中には3つのテキストファイルが存在しました。

パスの記述ですが、「\」をエスケープする必要があるため、「\」であれば「\\」と書きます。よって「c:\pg\file」の場合は「c:\\pg\\file」と書きます。

例2. フォルダの中のフォルダ・ファイルを取得する

import os
os.listdir('c:\\pg')
#[結果] ['file', 'code1.txt', 'code2.txt']

ここではフォルダの中にフォルダとファイルが混在しているフォルダを「listdir」で取得しました。

結果はフォルダもファイルも両方とも取得できました。「c:\pg」の中には「file」フォルダと2つのテキストファイル「code1.txt」「code2.txt」が存在しました。

例3. フォルダの中のフォルダ・ファイルを1件ずつ取得する

import os
for fname in os.listdir('c:\\pg'):
    print(fname)
#[結果] file
#[結果] code1.txt
#[結果] code2.txt

例2と同じフォルダをリストに取得するだけでなく、リストから「for ~ in」を使って1件ずつ取得しました。こちらの方が使いやすい形になるかと思います。

 

これで「listdir」でフォルダ内のファイルを取得することができました。

以上、Pythonの「listdir」でフォルダ内のファイルを取得する解説でした。

コメント