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

Python如何读取文件数据为字典动态设置number和description字段值

当然可以实现,以下是Python环境下的实现方案:

实现思路

  • 先预设固定结构的字典模板,保留需要动态替换的number、description字段的占位
  • 逐行读取data.dat文件,对每行内容做去空格、按逗号拆分处理,提取对应的数值和描述文本
  • 遍历所有行数据时,每次深拷贝字典模板,再将提取到的两个字段赋值到对应位置,即可得到填充完成的字典

完整代码示例

import copy

# 定义固定结构的字典模板
base_payload = {
    "method": "POST",
    "headers": {},
    "body": {
      "message": {
        "messageId": 22,
        "messageVersion": 3
      },
      "number": None,
      "description": None
    }
}

# 存储所有填充完成的payload的列表
payload_list = []

# 读取data.dat文件
with open("data.dat", "r", encoding="utf-8") as f:
    for line in f:
        # 跳过空行
        line = line.strip()
        if not line:
            continue
        # 按逗号拆分,最多拆分1次避免描述内容含逗号出错,同时去除两端多余空格
        number_str, description = line.split(",", 1)
        number = int(number_str.strip())
        description = description.strip()
        # 深拷贝基础模板,避免修改原始模板影响后续生成
        current_payload = copy.deepcopy(base_payload)
        current_payload["body"]["number"] = number
        current_payload["body"]["description"] = description
        payload_list.append(current_payload)

# 可按需使用生成的payload,比如遍历调用接口
for payload in payload_list:
    print(payload)

补充说明

如果你的data.dat里的number字段不需要转为整数类型,去掉int()转换即可。如果不需要批量存储所有payload,也可以在遍历行的环节直接调用接口请求逻辑,省去存储到列表的步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:09:03