You need to enable JavaScript to run this app. 使用Python生成匹配字段全长度定义的测试数据、调整分隔符及脚本优化咨询
优惠活动
大模型
产品
解决方案
定价
更多

使用Python生成匹配字段全长度定义的测试数据、调整分隔符及脚本优化咨询

替换分隔符为ASCII '\031'

Python原生支持'\031'这个ASCII转义字符(也可等价写作'\x1f'),直接修改现有拼接逻辑即可:

  • 可先定义分隔符常量,方便后续按需切换(比如在|和\031之间切换):SEP = '\031'
  • 把原代码中拼接字段时的'|'替换为SEP即可,原代码行:
    final_string += int(length) * str(character) + '|'
    修改为:final_string += int(length) * str(character) + SEP

如果要去掉原代码末尾多出来的多余分隔符,建议调整生成逻辑为先存字段列表,再一次性拼接,具体可参考下文的优化脚本。

脚本优化方向
  • 删除冗余调试输出:循环内的print(int(length))仅为调试用,正式运行可直接移除,避免控制台输出无关内容。
  • 避免首尾多余分隔符:当前逐字段拼接加分隔符的写法,会在最后一个字段后多拼接一个分隔符。更合理的写法是先生成所有字段的列表,再用SEP.join(字段列表)拼接,自动避免多余分隔符。
  • 兼容配置文件格式波动:给配置读取到的长度、字符加strip()处理,规避配置中逗号后带空格、行首行尾多空白的问题。
  • 支持批量生成多行:可增加行数配置参数,循环生成多行数据,无需重复运行脚本。
  • 直接写入输出文件:无需手动复制控制台输出,可直接将生成结果写入指定文件。
  • 增加基础校验:可加入长度为正整数、填充字符非空的校验,避免配置错误生成无效数据。

优化后参考脚本

from csv import reader

# 可配置参数,按需修改即可
SEP = '\031'  # 切换为|直接改为'|'
INPUT_SPEC_FILE = 'colspec1.data'
OUTPUT_DATA_FILE = 'test_data.txt'
GENERATE_ROW_COUNT = 3  # 需要生成的测试数据行数

# 读取并解析字段配置
with open(INPUT_SPEC_FILE, 'r', encoding='utf-8') as f:
    csv_reader = reader(f)
    # 过滤空行,同时处理配置项的空白字符
    field_specs = [
        (int(length_str.strip()), char.strip())
        for length_str, char in csv_reader
        if length_str.strip() and char.strip()
    ]

# 批量生成测试数据行
output_rows = []
for _ in range(GENERATE_ROW_COUNT):
    field_list = [length * char for length, char in field_specs]
    output_rows.append(SEP.join(field_list))

# 写入文件
with open(OUTPUT_DATA_FILE, 'w', encoding='utf-8', newline='') as f:
    f.write('\n'.join(output_rows))

内容的提问来源于stack exchange,提问作者user2647763 - RIMD

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.26 01:24:01