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

如何自动选取E盘中最新日期命名文件夹并访问其内TXT文件?

自动获取E盘最新日期文件夹内的TXT文件解决方案

问题分析

原代码硬编码了固定日期的文件夹路径,导致无法自动识别E盘下最新创建的、符合YYYYMMDD格式的日期文件夹,只能处理指定日期内的文件。

修正后的代码

import os
import glob
import re

# 目标根路径
root_path = 'E:/'
# 筛选E盘下所有符合YYYYMMDD格式的文件夹
date_folders = [
    folder for folder in os.listdir(root_path)
    if os.path.isdir(os.path.join(root_path, folder))
    and re.match(r'^\d{8}$', folder)
]

if not date_folders:
    print("未找到符合YYYYMMDD格式的日期文件夹")
else:
    # 利用YYYYMMDD字符串可直接比较的特性,获取最新日期文件夹
    latest_folder = max(date_folders)
    # 定位该文件夹下所有TXT文件
    txt_files = glob.glob(os.path.join(root_path, latest_folder, '*.txt'))
    
    if txt_files:
        # 获取文件夹内最新创建的TXT文件
        latest_txt = max(txt_files, key=os.path.getctime)
        print("最新TXT文件路径:", latest_txt)
    else:
        print(f"[{latest_folder}] 文件夹内未找到TXT文件")

关键改进点

  • 动态筛选日期文件夹:通过正则表达式^\d{8}$匹配YYYYMMDD格式的文件夹名称,配合os.path.isdir确保筛选的是目录而非文件
  • 准确获取最新日期:由于YYYYMMDD格式的字符串天然支持字典序比较(例如20230223 > 20230222),直接用max()获取最新日期文件夹比依赖创建时间更可靠(避免文件夹创建时间与命名日期不符的情况)
  • 路径拼接规范:使用os.path.join拼接路径,适配不同操作系统的路径分隔符

原代码问题点

原代码直接指定了E:/20230222/*路径,无法动态识别其他日期文件夹,导致只能处理固定日期内的文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 17:11:12