Pythonでフォルダ内を再帰的に探索するには
osモジュールのwalkメソッドを使用します。
C:\python-os-walk配下にフォルダ2つがあります。
それぞれのフォルダに2つのテキストが入っています。
1 2 3 4 5 6 7 8 9 |
C:\python-os-walk\ │ ├─Directory1 │ │-text1.txt │ └ text2.txt │ └─Directory2 │-text1.txt └ text2.txt |
4つのテキストに書かれている内容をpythonのos.walkを使用して表示します。
os.walkを使用してフォルダ内を探索するコード
os.walkで各フォルダ内を探索して
テキストの内容を表示するコードは以下になります。
1 2 3 4 5 6 7 8 9 10 11 |
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() |
コードを実行するとサブフォルダ内のテキストのパスと
テキストの内容を表示します。
1 2 3 4 5 6 7 8 9 10 11 |
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 --- 雑多なオペレーティングシステムインターフェース
ソースコード: Lib/os.py このモジュールは、 OS 依存の機能を利用するポータブルな方法を提供します。単純なファイルの読み書きについては、 open() を参照してください。パス操作については、 os.path モジュールを参照してください。コマンドラインに与えられたすべてのファイルから行を読み込んでいくには...
コメント