Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查文件是否是Python中任意深度文件夹树的元素?_Python_Python 3.x_Os.walk - Fatal编程技术网

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

如何检查文件是否是Python中任意深度文件夹树的元素?,python,python-3.x,os.walk,Python,Python 3.x,Os.walk,我在Python中遍历一个文件树,对于每个文件,我需要检查该文件树是否包含与原始文件名相同的文件,但“ca”替换为“wpa”。例如,对于文件“ca123.txt”,我必须检查是否存在名为“wpa123.txt”的文件 问题是,我通过以下代码得到的结果只是在它当前所在的级别上搜索,而不是在整个树中搜索。如何从当前位置搜索整个文件树 import os n=0 path=input() for root, dirs, files in os.walk(path): for file in

我在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()


使用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)