如何检查文件是否是 Python 中任意深度文件夹树的元素?

How to check if file is an element of arbitrarily deep folder tree in Python?

我正在遍历 Python 中的文件树,对于每个文件,我需要检查该文件树是否包含与原始文件同名的文件,但 'ca' 被替换为 'wpa'。例如。对于文件 'ca123.txt' 我必须检查是否存在名为 'wpa123.txt'.

的文件

问题是我通过以下代码得到的结果只在它当前所在的级别上进行搜索,而不是在整个树中进行搜索。如何从当前位置搜索整个文件树?

import os

n=0
path=input()
for root, dirs, files in os.walk(path):
    for file in files:
        if file.replace('ca','wpa') in files:
            n+=1
print(n)

使用 pathlib 和 glob 代替 os.walk()。

import glob
from pathlib import Path

n=0
path=Path(input())
files = [f.name for f in p.glob("**/*")]
for file in files:
    if 'ca' in file:
        if file.replace('ca','wpa') in files:
            n+=1
print(n)