利用python修改json文件的value方法

yipeiwu_com6年前Python基础

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

以上这篇利用python修改json文件的value方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python模块的定义,模块的导入,__name__用法实例分析

Python模块的定义,模块的导入,__name__用法实例分析

本文实例讲述了Python模块的定义,模块的导入,__name__用法。分享给大家供大家参考,具体如下: 相关内容: 什么是模块 模块的导入 模块的导入...

python调用虹软2.0第三版的具体使用

这一版,对虹软的功能进行了一些封装,添加了人脸特征比对,比对结果保存到文件,和从文件提取特征进行比对,大体功能基本都已经实现,可以进行下一步的应用开发了 face_class.py...

用Python编写简单的定时器的方法

下面介绍以threading模块来实现定时器的方法。 首先介绍一个最简单实现: import threading def say_sth(str): print str t...

PyCharm搭建Spark开发环境的实现步骤

PyCharm搭建Spark开发环境的实现步骤

1.安装好JDK 下载并安装好jdk-12.0.1_windows-x64_bin.exe,配置环境变量: 新建系统变量JAVA_HOME,值为Java安装路径 新建系统变量...

Python3.2中的字符串函数学习总结

Sequence Types sequence类型有六种:strings, byte sequences (bytes objects), byte arrays(bytearray o...