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

Ruby转Python模板文件编辑求助:行跳过/克隆/替换逻辑迁移

完善Python代码实现Ruby模板编辑逻辑

核心目标是复刻Ruby代码的模板处理逻辑:通过skip控制行跳过、get控制模板行收集,最终将收集的模板行结合测试ID替换占位符,生成目标输出文件。

完整Python代码

write = []
line2 = []
get = 0
skip = 0

test_id = ["A0001", "B0002", "C7030"]

with open("template.txt", "r") as f:
    for line in f:
        line = line.strip()
        # 跳过注释行
        if line.startswith("#"):
            continue
        
        # 遇到$$$111$$$时关闭跳过模式
        if "$$$111$$$" in line:
            skip = 0
            continue
        
        # 遇到$$$444$$$时开启跳过模式
        if "$$$444$$$" in line:
            skip = 1
            continue
        
        # 跳过模式下直接跳过当前行
        if skip == 1:
            continue
        
        # 遇到$$$222$$$时清空收集列表,开启模板行收集模式
        if "$$$222$$$" in line:
            line2.clear()
            get = 1
            continue
        
        # 遇到$$$333$$$时关闭收集模式,批量生成替换后的内容
        if "$$$333$$$" in line:
            get = 0
            for cur in test_id:
                for row in line2:
                    # 替换占位符:$$$000$$$换成FORM,$$$001$$$换成当前测试ID
                    replaced_line = row.replace("$$$000$$$", "FORM").replace("$$$001$$$", cur)
                    write.append(replaced_line)
            continue
        
        # 收集模式下将行加入模板列表
        if get == 1:
            line2.append(line)
            continue
        
        # 兼容其他未匹配的行(示例中无此场景)
        write.append(line)

# 将结果写入输出文件
with open("template_output.txt", "w") as o:
    for item in write:
        o.write(f"{item}\n")

关键修正与补充说明

  1. 补全核心变量:添加了Ruby中定义的test_id列表,确保测试ID的遍历替换逻辑完整
  2. 修正skip模式逻辑:原Python代码错误将$$$111$$$的处理设为skip=1,现已修正为skip=0,与Ruby逻辑对齐
  3. 添加$$$444$$$处理:实现开启跳过模式的逻辑,跳过后续行直到被$$$111$$$重置
  4. 实现模板替换核心逻辑:在$$$333$$$触发时,遍历每个测试ID,对收集到的模板行执行占位符替换,将结果存入输出列表
  5. 对齐get模式切换:确保仅收集$$$222$$$到$$$333$$$之间的行,与Ruby的行收集逻辑一致

验证结果

运行代码后,生成的template_output.txt内容与目标输出完全一致:

Application FORM
User_id A0001
Application FORM
User_id B0002
Application FORM
User_id C7030

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 11:50:25