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

如何用os库批量删除glob匹配的.xls文件?解决类型错误问题

问题解决:批量删除.xls文件的TypeError修复

错误原因

glob.glob()执行后返回的是匹配到的所有.xls文件路径的列表,但os.remove()的参数要求是单个字符串/字节/路径对象,直接传入列表就会触发TypeError: remove: path should be string, bytes or os.PathLike, not list。

另外原代码的路径存在转义风险:"C:\user\Documents\"里的\u会被Python识别为转义序列,可能导致路径解析错误,建议改用原始字符串(加前缀r)或者双反斜杠。

修正代码

import os
import glob

# 使用原始字符串避免转义问题
location = r"C:\user\Documents\"
# 获取所有匹配的.xls文件路径列表
file_xls = glob.glob(location + "*.xls")

# 遍历列表,逐个删除文件
for file_path in file_xls:
    try:
        os.remove(file_path)
        print(f"已删除: {file_path}")
    except Exception as e:
        print(f"删除失败 {file_path}: {str(e)}")

补充说明

  • 加try-except是为了处理异常情况(比如文件正在被占用、无权限删除等),避免程序直接崩溃
  • 如果需要递归删除子目录下的.xls文件,可以改用glob.glob(location + "**/*.xls", recursive=True)

内容的提问来源于stack exchange,提问作者Mathéo Pérez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 05:15:38