Pythonのos.walk()
は、ディレクトリの走査やファイルのリストアップを行うための便利な関数です。この記事では、os.walk()
の基本的な使い方と、それを活用した一部の応用例について説明します。
os.walk()の基本的な使い方
os.walk()
は、指定したディレクトリからトップダウンの流れでディレクトリを走査します。以下にその基本的な使い方を示します。
import os
for curDir, dirs, files in os.walk("test"):
print('===================')
print("現在のディレクトリ: " + curDir)
print("内包するディレクトリ:" + str(dirs))
print("内包するファイル: " + str(files))
このコードは、指定したディレクトリ(ここでは”test”)から始まり、その下のすべてのディレクトリとファイルを走査します。os.walk()
の戻り値は、現在のディレクトリ名(文字列)、そのディレクトリ内のディレクトリ一覧(リスト)、そしてそのディレクトリ内のファイル一覧(リスト)となります。
特定の拡張子のファイル一覧を表示する
os.walk()
を使って、特定の拡張子を持つファイルの一覧を取得することも可能です。以下にその例を示します。
import os
for curDir, dirs, files in os.walk("test"):
for file in files:
if file.endswith(".txt"):
print(os.path.join(curDir, file))
このコードは、”test”ディレクトリとその下のすべてのディレクトリを走査し、”.txt”という拡張子を持つファイルの一覧を表示します。
特定のディレクトリを除外する
また、特定のディレクトリを走査から除外することも可能です。以下にその例を示します。
import os
ignore_dir = "ignore_this_dir"
for curDir, dirs, files in os.walk("test"):
if ignore_dir in dirs:
dirs.remove(ignore_dir)
for file in files:
print(os.path.join(curDir, file))
このコードは、”ignore_this_dir”という名前のディレクトリを走査から除外します。これにより、そのディレクトリとその下のすべてのディレクトリ・ファイルが走査の対象から除かれます。
以上、Pythonのos.walk()
を使ったディレクトリ走査の基本的な使い方と一部の応用例について説明しました。この関数をうまく使って、ディレクトリ走査を活用してみてください。