【Python】listdirでフォルダ内のファイルを取得する

スポンサーリンク

Pythonの「listdir」の使い方について。

この記事の内容はコチラです

  • Pythonでフォルダに存在するファイルを配列に取得する
  • listdirの使い方を知る

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

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

Pythonの「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」でフォルダ内のファイルを取得する解説でした。

コメント