如何在C:/User/Production目录的多层子文件夹中查找test.pdf
遍历根目录所有子文件夹查找目标文件的代码修改方案
核心修改逻辑
- 放弃原代码中仅遍历指定一级文件夹的逻辑,使用Python标准库
os模块的walk()方法递归遍历根目录下所有层级的子目录 - 修正目标文件名匹配规则,遍历每个目录下的文件列表判断是否存在目标文件
- 移除无效的
folders预设列表、错误的test.img文件名配置以及无意义的print(orderName)输出
修改后可运行完整代码
import os # 配置根目录和目标文件名 root = r'C:\User\Production' target_file = 'test.pdf' file_found_paths = [] # 递归遍历所有子目录 for dirpath, _, filenames in os.walk(root): if target_file in filenames: full_path = os.path.join(dirpath, target_file) file_found_paths.append(full_path) # 输出所有匹配到的文件路径 print("找到的目标文件路径如下:") for path in file_found_paths: print(path)
代码说明
os.walk(root)会遍历root目录下所有层级的文件夹,每次迭代返回三个值:当前遍历到的目录路径dirpath、当前目录下的子文件夹列表、当前目录下的文件列表filenames- 用
r前缀修饰Windows路径字符串,避免反斜杠转义问题 - 只要找到和目标文件名完全匹配的文件,就拼接完整路径存入结果列表,支持查找多个同名的目标文件
内容的提问来源于stack exchange,提问作者Evg
相关产品推荐
相关产品推荐

