0

ファイル名「x.txt」および「y.txt」を含むフォルダーを再帰的にフォルダーを検索したいと思います。たとえば、 が指定され/path/to/folder/path/to/folder/one/two/three/four/x.txtかつ/path/to/folder/one/two/three/four/y.txtが存在する場合、 item を含むリストを返す必要があります"/path/fo/folder/one/two/three/four"。指定されたフォルダー内の複数のフォルダーが条件を満たす場合は、それらすべてを一覧表示する必要があります。これは単純なループで実行できますか、それとももっと複雑ですか?

4

1 に答える 1

2

os.walkディレクトリ構造を再帰的に反復するという大変な作業を行います。

import os

find = ['x.txt', 'y.txt']

found_dirs = []
for root, dirs, files in os.walk('/path/to/folder'):
    if any(filename in files for filename in find):
        found_dirs.append(root)

#found_dirs now contains all of the directories which matched
于 2013-01-05T16:05:38.687 に答える