Pythonでフォルダ内を再帰的に探索するにはosモジュールのwalkメソッドを使用します。
C:\python-os-walk配下にフォルダ2つがあります。
それぞれのフォルダに2つのテキストが入っています。
C:\python-os-walk\
│
├─Directory1
│ │-text1.txt
│ └ text2.txt
│
└─Directory2
│-text1.txt
└ text2.txt</pre>
4つのテキストに書かれている内容をpythonのos.walkを使用して表示します。
os.walkを使用してフォルダ内を探索するコード #
os.walkで各フォルダ内を探索してテキストの内容を表示するコードは以下になります。
import os
for root, dirs, files in os.walk('C:\\python-os-walk'):
for file in files:
_, ext = os.path.splitext(file)
if ext == '.txt':
file_path = os.path.join(root, file)
print('{}の内容は以下になります。'.format(file_path))
with open(file_path, encoding='utf-8') as f:
print(f.read())
print()
コードを実行するとサブフォルダ内のテキストのパスとテキストの内容を表示します。
C:\python-os-walk\Directory1\text1.txtの内容は以下になります。
これはDirectory1のtext1.txtです。
C:\python-os-walk\Directory1\text2.txtの内容は以下になります。
これはDirectory1のtext2.txtです。
C:\python-os-walk\Directory2\text1.txtの内容は以下になります。
これはDirectory2のtext1.txtです。
C:\python-os-walk\Directory2\text2.txtの内容は以下になります。
これはDirectory2のtext2.txtです。
os.walkを使用すれば、フォルダ内を再帰的に探索するコードを自分で作成する必要がありません。 フォルダ内を探索する必要があるなら、ぜひ、os.walkを使用しましょう。
参考 #
os --- 雑多なオペレーティングシステムインターフェース — Python 3.13.1 ドキュメント
docs.python.jp