1. 程式人生 > >【Python】往json檔案中追加內容

【Python】往json檔案中追加內容

往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!