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

如何将data目录下仅单个字符不同的3个txt文件分组依次输出

实现方案

实现逻辑如下:

  • 你的文件名统一按.分割为6段,第2段是AB[C/D/E]可变部分,剩余5段拼接后就是同一组文件的唯一标识
  • 用字典存储所有分组,key为上述唯一标识,value为对应组的文件名列表
  • 遍历字典按组输出即可
import glob
from collections import defaultdict

# 初始化分组字典
file_groups = defaultdict(list)

# 遍历所有txt文件
for file_path in glob.glob('/data/*.txt'):
    # 提取纯文件名
    file_name = file_path.split('/')[-1]
    parts = file_name.split('.')
    # 生成分组key:去掉第2段可变部分,剩余部分拼接
    group_key = '.'.join([parts[0], *parts[2:]])
    # 加入对应分组
    file_groups[group_key].append(file_path)

# 按组输出,sorted可调整组的先后顺序
for group_key in sorted(file_groups.keys()):
    # 同组内按文件名排序,保证ABC/ABD/ABE的固定输出顺序
    group_files = sorted(file_groups[group_key])
    for f in group_files:
        print(f)
    # 如需组与组之间空行分隔,可取消下一行注释
    # print()

如果需要自定义组的输出顺序(比如按年份、天数倒序),修改sorted(file_groups.keys())的排序规则即可,默认字符串排序已满足常规按时间升序的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:00:02