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

Python修改字典默认属性值构造POST请求payload的方法

Prop默认值灵活修改实现方案

核心逻辑是把全量默认prop配置作为固定模板,每次生成请求参数时先从模板拷贝出全新的配置副本,仅修改指定的prop值,从根源避免上次修改的配置残留,保证其余prop始终保持默认。

实现步骤

  • 提前定义所有prop的默认值映射常量,作为每次生成配置的统一基准
  • 函数被调用时,优先拷贝默认模板生成当前次的配置对象,全程不修改原始模板
  • 仅替换传入的指定prop对应的value,其余配置完全保留默认值
  • 将配置对象按接口要求拼接为key=value格式的换行字符串,组装成合法POST payload

完整实现代码

import requests

# 固定默认值模板,不要直接修改这个对象
DEFAULT_PROP_CONFIG = {
    "prop1": "default_value",
    "prop2": "default_value",
    "prop3": "default_value",
    "prop4": "default_value",
    "prop5": "default_value",
    "prop6": "default_value",
    "prop7": "default_value",
    "prop8": "default_value"
}

def property_value(prop_name, value):
    # 每次调用拷贝一份全新的默认配置,避免历史修改残留
    current_config = DEFAULT_PROP_CONFIG.copy()
    # 仅修改传入的指定prop
    current_config[prop_name] = value
    # 拼接为接口要求的content字符串格式
    content = "\n".join([f"{prop}={val}" for prop, val in current_config.items()])
    # 构造请求payload
    payload = {
        "id": 104,
        "content": content
    }
    # 发送请求
    resp = requests.post(url, headers=headers, json=payload)
    return resp

使用方式

  • 首次运行要把prop3默认值改成data1,直接调用property_value("prop3", "data1")即可,其余prop自动保留默认值
  • 下次运行要只修改prop8默认值,直接调用property_value("prop8", "你的目标值"),函数会自动重置所有prop为默认值后再修改prop8,不会保留上次prop3的修改
  • 如果需要一次修改多个prop,只需要把函数入参改成字典类型,循环更新current_config即可,核心逻辑不变

注意:禁止直接修改DEFAULT_PROP_CONFIG原始模板,否则会导致后续调用的默认基准被污染。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 02:33:06