Json将添加的键保持在一起而不创建新的dict

2024-06-16 11:06:03 发布

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

我正试图找出如何保存添加在一起的键。我写了这个小脚本,每次运行时都会添加键和值,但它会不断添加dict

import json
import datetime

key = str(datetime.datetime.now())
insert = 'Test'
logged = {key : insert}

data = json.load(open('StartLog.json', 'r'))
with open('StartLog.json', 'w') as f:
    data['Logs'].append(logged)
    json.dump(data, f, indent=2)

目前的产出将是:

{
  "Logs": [
    {
      "2018-08-28 22:07:12.540188": "Test"
    },
    {
      "2018-08-28 22:07:20.134817": "Test"
    }
  ]
}

我希望输出为:

{
  "Logs": [
    {
      "2018-08-28 22:07:12.540188": "Test",
      "2018-08-28 22:07:20.134817": "Test"
    }
  ]
}

Tags: keytestimport脚本jsondatadatetimeopen
1条回答
网友
1楼 · 发布于 2024-06-16 11:06:03

data中的Logs更改为字典,并使用每个条目更新dict:

import json
import datetime

key = str(datetime.datetime.now())
insert = 'Test'
logged = {key : insert}

data = json.load(open('StartLog.json', 'r'))
with open('StartLog.json', 'w') as f:
    data['Logs'].update(logged)
    json.dump(data, f, indent=2)

因此StartLog.json应该从以下内容开始:

{
  "Logs": {
  }
}

相关问题 更多 >