ディレクトリのLinuxでの再帰的トラバースの実装方法
Linux では、再帰関数を使ってディレクトリを走査することができます。以下に例を示します:
- osモジュールをインポートしてファイルやディレクトリの操作を行うosライブラリを使用する。
- ディレクトリパスをパラメータとして受け取る再帰関数を定義します。
- 再帰関数の内部では、os.listdir() 関数を使用してディレクトリ内のすべてのファイルとサブディレクトリを取得します。
- ファイルを列挙して、各ディレクトリに対しては、再帰的にこの関数を呼び出す。
- 各ファイルに対してファイルパスの印字など、対応する処理を実行できます。
ここにサンプルコードを示します。
import os
def recursive_traverse_folder(path):
for filename in os.listdir(path):
filepath = os.path.join(path, filename)
if os.path.isdir(filepath):
recursive_traverse_folder(filepath)
else:
print(filepath)
# 调用递归函数,并传入需要遍历的目录路径
recursive_traverse_folder('/path/to/folder')
上記のサンプルでは、recursive_traverse_folder() 関数によって指定されたディレクトリ内にあるすべてのファイルとサブディレクトリが再帰的に走査され、各ファイルのパスが出力されます。再帰関数内で、必要に応じて適切な処理を実行できます。