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

Python加载JSON后输出文本时保留字符串值双引号的方法问询

实现方案

你可以借助json.dumps和itertools.product实现更优雅、鲁棒性更强的逻辑,不需要手动判断值类型,还能自动处理字符串转义场景,后续新增参数也不需要修改循环结构:

完整代码示例

import json
from itertools import product

def load_json(json_file):
    with open(json_file, encoding="utf-8") as f:
        data = json.load(f)
    return data

def generate_output(data):
    keys = list(data.keys())
    value_lists = [data[k] for k in keys]
    output_lines = []
    # 自动生成所有参数组合的笛卡尔积
    for combo in product(*value_lists):
        parts = []
        for k, v in zip(keys, combo):
            # json.dumps会自动按照JSON规范输出:数字无引号、字符串自动带双引号
            v_str = json.dumps(v)
            parts.append(f"{k}={v_str}")
        line = ";".join(parts) + ";"
        output_lines.append(line)
    return output_lines

if __name__ == "__main__":
    config_data = load_json("你的配置文件路径.json")
    result_lines = generate_output(config_data)
    # 写入输出文件
    with open("output.txt", "w", encoding="utf-8") as f:
        f.write("\n".join(result_lines))

方案优势

  1. 无需手动判断值类型,json.dumps会自动适配不同类型的输出格式,遇到字符串内的双引号、换行符等特殊字符也会自动转义,避免手动拼接导致的格式错误
  2. 使用itertools.product生成参数组合,不管配置里有多少个参数,都不需要写多层嵌套循环,后续新增参数只需要修改JSON配置即可,代码无需调整,扩展性极强
  3. 完全匹配你要求的JSON原生格式输出规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:06:00