做工程时遇到需要监听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。