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

如何修改JSON文件中的多个值且无需每次单独写入文件

一次性修改JSON多值,避免重复写入文件

你当前的代码存在冗余操作:每次修改一个字段就重复打开文件写入,而且第一次写入时还未执行任何修改(修改操作在json.dump之后),完全没必要。正确的做法是:先把JSON文件加载到内存,一次性完成所有字段修改,最后只写入一次文件即可。

优化后的代码如下:

import json

json_file = "/home/api_keys.json"

# 1. 将JSON文件加载到内存字典
with open(json_file, "r") as json_data:
    data = json.load(json_data)

# 2. 一次性完成所有需要修改的字段
data["keys"]["personal"]["api_key"] = "9999"
data["keys"]["personal"]["client_id"] = "000000000000"
data["keys"]["personal"]["client_secret"] = "hyfgdjocoduxbxlwowichcnckw"

# 3. 仅写入一次文件,覆盖原内容
with open(json_file, "w") as jsonFile:
    json.dump(data, jsonFile, indent=4)  # indent参数可选,用于格式化输出JSON,方便阅读

# 可选:验证修改结果
with open(json_file, "r") as json_data:
    updated_data = json.load(json_data)
    api_key = updated_data["keys"]["personal"]["api_key"]
    client_id = updated_data["keys"]["personal"]["client_id"]
    client_secret = updated_data["keys"]["personal"]["client_secret"]
    print(f"修改后的api_key: {api_key}")
    print(f"修改后的client_id: {client_id}")
    print(f"修改后的client_secret: {client_secret}")

核心优化点:

  • 内存操作远快于磁盘IO,一次性修改再写入,既高效又避免重复IO操作
  • indent=4参数可以让写入的JSON保持格式化结构,和原文件风格一致,若不需要可直接去掉
  • 验证步骤为可选操作,确认修改逻辑无误后可省略

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 06:05:10