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

如何修改Python代码实现遍历子文件夹删除指定前缀文件

解决遍历所有子文件夹删除指定前缀文件的问题

问题分析

你之前的代码失效原因很明确:

  • 结合os.walk的版本里,始终用固定路径mypath/NAME*匹配文件,没有利用os.walk返回的当前目录root,所以只处理了主文件夹,完全没遍历子目录。
  • 参考的代码中glob未开启递归模式,只能匹配主文件夹内的文件,自然无法触及子目录内容。

方法一:用os.walk遍历所有目录

os.walk会逐层遍历目标路径下的所有子目录,我们可以在每个目录里检查文件名前缀,匹配成功就删除:

import os

# 替换成你的主文件夹路径
target_root = "mypath"
# 替换成你要匹配的文件前缀
target_prefix = "NAME"

for root, _, files in os.walk(target_root):
    for filename in files:
        if filename.startswith(target_prefix):
            full_path = os.path.join(root, filename)
            os.remove(full_path)

方法二:用glob的递归模式

Python 3.5及以上版本的glob支持recursive=True参数,配合**通配符可以直接匹配所有子目录下的文件:

import glob
import os

target_root = "mypath"
target_prefix = "NAME"

# ** 表示匹配所有层级的子目录
for file_path in glob.glob(os.path.join(target_root, "**", f"{target_prefix}*"), recursive=True):
    # 额外判断是文件,避免误删同名目录
    if os.path.isfile(file_path):
        os.remove(file_path)

安全提示

建议先把os.remove(file_path)替换成print(file_path),确认输出的文件路径都是你要删除的目标后,再执行删除操作,避免误删重要文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 03:33:17