【Python】os.walkでフォルダを再帰的に探索する

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を使用しましょう。

参考

https://docs.python.jp/3/library/os.html

Licensed under CC BY-NC-SA 4.0
最終更新 2018年8月30日 11:51
Hugo で構築されています。
テーマ StackJimmy によって設計されています。