我想遍历路径来查找文件。 但我想搜索特定的文件夹路径。 就像我想找到“folder2_2”,然后找到“folder2_2_2”,然后暴力破解所有子文件夹和文件。
简单地使用 os.walk 遍历每条可能的路径需要很长时间。 请帮忙
|folder1
---|folder1_1
---|folder1_2
---|folder1_3
|folder2
---|folder2_1
---|folder2_2
---|---|folder2_2_1
---|---|folder2_2_2
---|---|folder2_2_3
---|folder2_3
|folder3
---|folder3_1
---|folder3_2
...
...
设置示例文件夹结构:
from pathlib import Path
import itertools
for outer,inner in itertools.product(range(1,4),range(1,4)):
p = Path('.') / f"folder{outer}" / f"folder{outer}_{inner}"
p.mkdir(parents=True, exist_ok=True)
f = p / "FILE!"
f.touch()
.
└── folder1
│ └── folder1_1
│ └── folder1_2
│ └── folder1_3
└── folder2
│ └── folder2_1
│ └── folder2_2
│ └── folder2_3
└── folder3
│ └── folder3_1
│ └── folder3_2
│ └── folder3_3
│ └── FILE!
独家搜索文件:
list(Path().glob("**/*FILE*"))
# [PosixPath('folder3/folder3_3/FILE!')]