往json文件中追加内容
已存在的json文件内容如下:
需求:想要追加json内容(例如:{'e':'5555','f':'6666'}),追加后如下:
若直接采用指定文件打开方式为追加模式(a表示追加),则会变成如下效果:
import os
from os.path import join as pjoin
import json
name_emb = {'e':'5555','f':'6666'}
output_dir = '/home/cqh/faceData'
listdir = os.listdir(output_dir)
if 'emb_json.json' in listdir:
fr = open(pjoin(output_dir, 'emb_json.json'), 'a')
model=json.dumps(name_emb)
fr.write(model)
fr.close()
运行结果如下:
因此,想要达到需求,可以先将json文件中的数据取出,补充新的数据,再全部写入
import os
from os.path import join as pjoin
import json
name_emb = {'e':'5555','f':'6666'}
output_dir = '/home/cqh/faceData'
listdir = os.listdir(output_dir)
if 'emb_json.json' in listdir:
fr = open(pjoin(output_dir, 'emb_json.json'))
model=json.load(fr)
fr.close()
for i in name_emb:
model[i] = name_emb[i]
jsObj = json.dumps(model)
with open(pjoin(output_dir, 'emb_json.json'), "w") as fw:
fw.write(jsObj)
fw.close()
运行结果如下:
Finish!