import os def search_file(path, filename): for root, dirs, files in os.walk(path): if filename in files: return True for dir in dirs: if search_file(os.path.join(path, dir), filename): return True return False path = input("请输入目录:") filename = input("请输入文件名:") if search_file(path, filename): print("文件存在") else: print("文件不存在")
时间: 2023-12-06 11:42:58 浏览: 71
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
5星 · 资源好评率100%
这段代码是一个 Python 的函数,用于在指定目录及其子目录中搜索指定文件,如果找到了就返回 True,否则返回 False。
代码中使用了 os 模块的 walk() 函数遍历目录,然后判断指定的文件名是否在该目录下的文件列表中。如果存在,则返回 True。如果不存在,则递归遍历子目录,直到找到文件或者搜索完所有子目录为止。
在代码的最后,通过 input() 函数获取用户输入的目录和文件名,然后调用 search_file() 函数进行搜索,并打印搜索结果。
需要注意的是,代码中存在一个错误,即在 for 循环中迭代 dirs 时,应该将 dir 改为 dirs,以遍历所有子目录。
阅读全文