Python3.5
嗨,我有以下代码来向json数据添加元素:
jsonFile = open("json.json", mode="r+", encoding='utf-8')
jdata = json.load(jsonFile)
jdata['chat_text'].insert(0, {'x':'x'})
json.dump(jdata, jsonFile)
jsonFile.close()
但结果是:
第一个数据
^{pr2}$编辑数据
{"chat_text": [{"a": "b", "c": "d", "e": "f"}]}{"chat_text": [{'x':'x'},{"a": "b", "c": "d", "e": "f"}]}
所以我写了这个代码:
jsonFile = open("json.json", mode="r+", encoding='utf-8')
jdata = json.load(jsonFile)
jdata['chat_text'].insert(0, {'x':'x'})
open('json.json', mode='w').close() #deleting first data
json.dump(jdata, jsonFile)
jsonFile.close()
结果是:
第一个数据
^{pr2}$编辑数据
{"chat_text": [{"x","x"},{"a": "b", "c": "d", "e": "f"}]}
如你所见,它用空间代替了第一个数据,我希望它什么都不是。。。在
有什么想法吗?在
问题本质上是你在不同的模式下打开文件两次。在
因此,前3行打开文件并将其加载到jdata中,然后关闭该文件。 做你需要的任何操作 再次打开文件,这次要写入。转储数据,关闭文件。在
相关问题 更多 >
编程相关推荐