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

基于文件名日期删除文件:保留周一文件的脚本出错求助

问题排查与修复

错误原因

  • 类型不匹配:directory.glob()返回的是Path对象,你直接拿它和字符串'data_Mon_*.csv'做相等判断,两者永远不可能相等,所以所有文件都会被判定为需要删除。
  • 通配符使用错误:就算把file转成字符串,直接用!= 'data_Mon_*.csv'也不是通配符匹配逻辑,*在这里只是普通字符,没法匹配所有周一的文件名。

修复后的代码

方案一(用pathlib批量匹配周一文件):

import pathlib
import os

def file_delete():
    directory = pathlib.Path('/Path/To/Data')
    # 先获取所有周一的文件路径,存入集合方便快速判断
    mon_files = set(directory.glob('data_Mon_*.csv'))
    for file in directory.glob('data_*.csv'):
        if file not in mon_files:
            os.remove(file)

方案二(直接判断文件名前缀):

import pathlib
import os

def file_delete():
    directory = pathlib.Path('/Path/To/Data')
    for file in directory.glob('data_*.csv'):
        # 提取文件名,判断是否以周一标识开头
        if not file.name.startswith('data_Mon_'):
            os.remove(file)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 12:54:21