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

同前缀编号文件名仅存首个需求下的Python代码异常排查

问题分析与解决方案

原代码问题

原代码存在两个核心问题:

  • 逻辑错误:仅当当前文件与下一个文件前缀不同时才保存当前文件,导致同编号的第一个文件因与下一个文件前缀相同被跳过,反而错误保存了同编号的第二个文件
  • 前缀提取不严谨:用[0:2]截取前缀的方式无法适配多位数编号(如12_xxx),会导致编号提取错误

修正后的代码

filenames = [
    '4_66\nNUC_66377\nAPPR\nWONDER',
    '4_66\nNUC_66377\nAPPR\nCOT',
    '8_21\nAKRO\nNUT\nAMY'
]

processed_ids = set()

for filename in filenames:
    # 准确提取下划线前的编号:先取文件名第一行,再按下划线分割
    first_line = filename.split('\n')[0]
    file_id = first_line.split('_')[0]
    if file_id not in processed_ids:
        # 仅保存同编号的首个文件
        with open(f'./{filename}.txt', 'w') as file:
            file.write('111')
        processed_ids.add(file_id)

代码说明

  • processed_ids集合用于记录已处理过的文件编号,避免重复保存同编号的文件
  • 通过split('\n')[0]提取文件名的第一行(编号所在行),再用split('_')[0]准确获取下划线前的编号,适配多位数编号场景
  • 遍历过程中,仅当编号未被处理时才保存当前文件,确保同编号的文件只保留首个

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 16:13:19