Pythonでは、ファイルやディレクトリを操作するための様々なモジュールが提供されています。その中でも、glob
モジュールは特定のパターンにマッチするファイルのパスを取得するためのモジュールで、個々のファイルに対して様々な操作が可能です。
しかし、glob
モジュールには一つ問題があります。それは、サブディレクトリの中までは探索できないという点です。この問題を解決するためには、os.walk
関数を使用します。
os.walk
関数は、サブディレクトリの中まで渡り歩くことができます。この関数は引数に「探索するフォルダのパス」を渡すことで以下の3つの情報を返してくれます。
- 現在いるフォルダのパス
- 現在いるフォルダの中のサブフォルダ名のリスト
- 現在いるフォルダの中のファイル名のリスト
以下に、os.walk
関数を使用したコードの例を示します。
import os
for current, subfolders, subfiles in os.walk("bbb"):
print(f"現在のフォルダは{current}です。")
print(f"サブフォルダは{subfolders}です。")
print(f"サブファイルは{subfiles}です。")
print("-------------------------------------------------------")
このように、os.walk
関数を使いこなせば、深い階層でもディレクトリ内のファイル操作が簡単にできて便利です。動作の理解が最初は少し難しいかもしれませんが、是非とも使いこなせるようになりましょう。