You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python os.walk遍历文件时如何匹配并打印文件名指定关键词

Python os.walk 关键词匹配文件功能修正方案

原代码存在的核心问题

  • 路径字符串书写错误:"C:\\Users\" 末尾反斜杠转义了闭合引号,会触发语法报错
  • os.walk 返回值解析错误:该方法每次迭代返回长度为3的元组 (当前遍历目录路径, 当前目录下子目录名列表, 当前目录下文件名列表),原代码直接将整个元组当作文件名处理,无法拿到实际文件
  • 匹配语法错误:Python不存在is like关键字,字符串包含判断直接使用in操作符即可
  • 缺少要求的文件信息字典存储逻辑

修正后可直接运行的代码

import os

# 预设匹配关键词列表
match_keywords = ["draft", "first", "test"]
# 目标遍历路径,用原始字符串避免转义问题
target_path = r"C:\Users"
# 存储最终文件信息的字典,key为文件完整路径,value为该文件匹配到的关键词列表
file_info_dict = {}

for root, dirs, files in os.walk(target_path):
    # 遍历当前目录下的所有文件名
    for file_name in files:
        matched = []
        # 逐一检查关键词是否在文件名中
        for keyword in match_keywords:
            if keyword in file_name:
                matched.append(keyword)
        # 如果存在匹配项,打印结果并存入字典
        if matched:
            file_full_path = os.path.join(root, file_name)
            file_info_dict[file_full_path] = matched
            print(f"文件:{file_full_path},匹配到关键词:{', '.join(matched)}")

# 大型项目后续逻辑可直接调用file_info_dict获取全量匹配文件信息

补充说明

  • 路径使用r前缀的原始字符串,不需要手动写双反斜杠转义,避免路径书写错误
  • 用os.path.join拼接文件完整路径,兼容Windows、macOS、Linux不同系统的路径分隔符
  • 上述关键词匹配默认区分大小写,如果需要不区分大小写,可以把判断逻辑改成if keyword.lower() in file_name.lower()即可

内容的提问来源于stack exchange,提问作者Nip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 09:45:19