Pythonでは、os.walk()
とyield
を組み合わせることで、ディレクトリの探索を効率的に行うことができます。以下にその使用例を示します。
import os
def find_all_files(directory):
for root, dirs, files in os.walk(directory):
yield root
for file in files:
yield os.path.join(root, file)
for file in find_all_files('/tmp/test'):
print(file)
このコードは、指定したディレクトリ以下のすべてのファイルとディレクトリを探索し、そのパスを出力します。os.walk()
はディレクトリの探索を行い、yield
は見つけたパスを一つずつ返すことで、大量のデータを効率的に処理することができます。
このように、Pythonのos.walk()
とyield
を使うことで、ファイルシステムの探索を簡単かつ効率的に行うことができます。これらの機能を活用して、Pythonでのファイル操作をより便利にしましょう。