1. 程式人生 > >利用python修改json檔案的value

利用python修改json檔案的value

    做工程時遇到需要監聽json檔案,根據json檔案中的key-value值作出相應處理的情形。為此寫了修改json檔案的python指令碼供工程後續呼叫。

    程式碼如下:

# coding=utf-8   //設定文字格式
import os,sys
import json
def get_new_json(filepath,key,value):
	key_ = key.split(".")
	key_length = len(key_)
	with open(filepath, 'rb') as f:
		json_data = json.load(f)
		i = 0
		a = json_data
		while i < key_length :
			if i+1 == key_length :
				a[key_[i]] = value
				i = i + 1
			else :
				a = a[key_[i]]
				i = i + 1
	f.close()
	return json_data
	
def rewrite_json_file(filepath,json_data):
	with open(filepath, 'w') as f:
		json.dump(json_data,f)
	f.close()

if __name__ == '__main__':
	
	key = sys.argv[1]
	value = int(sys.argv[2])
	json_path = sys.argv[3]
		
	m_json_data = get_new_json(json_path,key,value)	
	rewrite_json_file(json_path,m_json_data)

    執行範例:

    python  json_value_modify.py  a.b.c  999  /home/cabin/example.json

    即把example.json中key值為a.b.c對應的value值修改為999。