如何使用python编写json文件 ?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (111)

我正在尝试使用python脚本读写一个json文件(我已经将这个python块嵌入到一个shell脚本中)。

我正在尝试添加Region(UK),在此之前,我想检查和添加列表中不允许的区域。下面是我的python代码,我可以更新值。

reg_val="uk"

a_dict = {}
try:
    with open('test.json') as data_file:
        data = json.load(data_file)
        temp_list = []
        for dicObj in data["region"]:
            temp_list.append(dicObj)
        temp_list.append(reg_val)
        data["region"] = temp_list
        a_dict["region"] = data["region"]
        with open('test.json','w') as f:
            f.write(json.dumps(a_dict, indent=4, sort_keys=True, encoding="utf-8"))
except IOError as io:
    print "ERROR: ", io

我能够更新json文件,但它删除了其他列表。

{
    "region": [
        "asia", 
        "europe", 
        "americas", 
        "asia-pacific", 
        "uk"
    ]
}
提问于
用户回答回答于

因为你在写a_dict文件,该文件被初始化为空文件。

用户回答回答于

其他列表被删除的原因是你使用的是写模式而不是附加模式。当你重新打开test.json文件时,请使用以下代码open('test.json', 'a')若要附加到test.json,而不覆盖以前编写的内容,请执行以下操作。

扫码关注云+社区

领取腾讯云代金券