我有以下结构的 JSON 文件:
{'1234': 'ABC', '2345': 'BCD', '3456': 'CDE'}
我想将键值对:{'4567': 'DEF'}
附加到这个 JSON 文件中,使其看起来像:
{'1234': 'ABC', '2345': 'BCD', '3456': 'CDE', '4567': 'DEF'}
这是我的代码,但它添加了 key: value 对作为另一个类似结构的字典:
new_data = {'4567': 'DEF}
j = json.dumps(new_data)
with open('hashDir.json','r+') as file:
file.write(j)
file.close()
答案 0 :(得分:0)
import json
new_data = {'4567': 'DEF'}
with open("hashDir.json", "r+") as file:
data = json.load(file)
data.update(new_data)
file.seek(0)
json.dump(data, file)
答案 1 :(得分:0)
Sudipto 的解决方案简短而甜蜜,假设您要修改原始文件。 以防万一您不这样做,或者如果您出于任何原因想要将读取和写入分开,这里有一个稍微不同的选项:
import json
with open('hashDir.json', 'r') as f:
json_dict = json.load(f)
new_data = {"4567": "DEF"}
json_dict.update(new_data)
with open('hashDir.json', 'w') as f:
f.write(json.dumps(json_dict))
...这是假设您只有一个非常轻的文件,例如您上面描述的那个。当然,如果您只想替换原始文件,您可以使用 Sudipto 的解决方案,或者您可以在第二个 with
中为该文件指定相同的名称。