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

如何在Python中删除指定创建日期范围内的文件?

Python 用 os 库删除指定创建日期范围的文件

要实现按创建日期筛选文件并删除,核心是获取文件的创建时间并与目标日期范围对比,以下是完整实现方案:

关键说明

  • os.stat() 可获取文件元数据:
    • Windows 系统中,st_ctime 代表文件创建时间
    • Unix/Linux/macOS 系统中,st_ctime 是文件状态更改时间,创建时间需用 st_birthtime
  • 需要把时间戳转换为可比较的 datetime 对象,再和你定义的 X、Y 日期做范围判断

完整代码示例

import os
from datetime import datetime

# 配置参数
target_dir = "你的目标目录路径"
# 定义日期范围(格式:年-月-日)
start_date_str = "2023-01-01"  # X日期
end_date_str = "2023-12-31"    # Y日期

# 将字符串日期转为datetime对象
start_date = datetime.strptime(start_date_str, "%Y-%m-%d")
end_date = datetime.strptime(end_date_str, "%Y-%m-%d")

# 遍历目录下的所有文件
for filename in os.listdir(target_dir):
    file_path = os.path.join(target_dir, filename)
    # 只处理文件(跳过子目录)
    if os.path.isfile(file_path):
        # 获取文件创建时间(区分系统)
        if os.name == 'nt':  # Windows系统
            create_time = datetime.fromtimestamp(os.stat(file_path).st_ctime)
        else:  # Unix/Linux/macOS系统
            create_time = datetime.fromtimestamp(os.stat(file_path).st_birthtime)
        
        # 判断是否在目标日期范围内
        if start_date <= create_time <= end_date:
            # 测试阶段先打印确认,无误后再替换为os.remove
            print(f"将删除文件:{file_path}")
            # os.remove(file_path)

注意事项

  • 测试时保留 print 语句、注释 os.remove,确认筛选文件正确后再执行删除
  • 确保对目标目录有写入权限,否则会抛出权限错误
  • 若需精确到时分秒,修改日期字符串格式为 "%Y-%m-%d %H:%M:%S" 即可

内容的提问来源于stack exchange,提问作者Fernanda Diniz Marinho

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 15:55:20