JSON在中保存副本

2024-06-16 21:42:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用Python更新JSON数据。你知道吗

import json
with open('./gui-config.json','r+') as f:
    js=json.load(f)
    js['configs'][0]['password']='123'
    f.seek(0)
    json.dump(js,f)

这是我的测试JSON,名为“gui-配置.json“:”

{
"configs" : [
  {
"server" : "US.SSSERVER.PW",
"server_port" : 8989,
"password" : "73221446",
"method" : "aes-256-cfb",
"remarks" : ""}

],
"index" : 0,
"global" : false,
"enabled" : true,
"shareOverLan" : false,
"isDefault" : false,
"localPort" : 1080}

结束运行,“gui”-配置.json“是:

{
  "localPort": 1080,
  "isDefault": false,
  "configs": [
    {
      "server_port": 8989,
      "method": "aes-256-cfb",
      "remarks": "",
      "password": "123",
      "server": "US.SSSERVER.PW"
    }
  ],
  "global": false,
  "enabled": true,
  "index": 0,
  "shareOverLan": false
 }
   sDefault": false,
   "localPort" : 1080
 }

"sDefault" : false, "localPort" : 1080}是重复信息。为什么会这样? 我能在一次打开后完成这个操作吗?你知道吗


Tags: jsonfalseserverportjsguipasswordmethod
1条回答
网友
1楼 · 发布于 2024-06-16 21:42:03
import json
with open('./gui-config.json','r') as f:
    js=json.load(f)
    js['configs'][0]['password']='123'

with open('./gui-config.json','w') as f:
    js.dumps(js, f)

我认为这是一个更整洁,更容易遵循的方法。再次打开文件进行写操作将清除现有内容(您不必担心,因为内存中已经有一个副本)。你知道吗

相关问题 更多 >