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

Python2中删除含指定字符串的子目录文件问题求助

嘿,我来帮你搞定这个问题~

你的代码只删除第一个符合条件的文件,核心问题出在判断逻辑和遍历方式上:你用了if file_name in files,这其实是在检查是否存在**文件名完全等于file_name**的文件,而不是文件名包含指定字符串的文件;而且就算找到一个匹配项,你也没有遍历所有文件,所以只会处理第一个完全匹配的文件,其他符合要求的CSV根本没被检查到。

针对你的需求,我调整了代码,适配Python2的语法,能遍历所有子目录并删除所有文件名包含指定字符串的CSV文件:

import os

# 替换成你要搜索的根目录
search_folder = "/path/to/your/target/folder"
# 替换成你要查找的指定字符串
target_string = "your_keyword"

for root, dirs, files in os.walk(search_folder):
    # 遍历当前目录下的每个文件
    for file in files:
        # 检查两个条件:文件名包含目标字符串,且是CSV文件
        if target_string in file and file.endswith('.csv'):
            file_full_path = os.path.join(root, file)
            print "找到符合条件的文件: {}".format(file_full_path)
            print "正在删除文件......!!"
            os.remove(file_full_path)

几个小提醒:

  • 建议先把os.remove(file_full_path)这行注释掉,先运行代码查看输出的文件路径是否正确,确认没问题再执行删除操作,避免误删重要文件
  • 如果需要忽略大小写匹配(比如要匹配包含"test"和"Test"的文件),可以把判断条件改成:
    if target_string.lower() in file.lower() and file.endswith('.csv')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:07:24