利用python修改json文件的value_cabinx的博客-程序员ITS304_python修改json文件内容

技术标签: python  json  

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiekaikaibing/article/details/80082305

智能推荐

JDBC学习_無言46的博客-程序员ITS304

JDBC学习这里写目录标题JDBC学习一级目录二级目录三级目录一、JDBC开发的六个步骤二、SQL注入问题(Statement与preparement)1、Statement 的sql注入问题2、使用PrepareStatement解决sql注入问题三、ORM对象关系映射四、JDBC工具类1、数据源写到dp.properties文件中2、工具类的封装五、三层架构六、JDBC事务处理转账问题1、DAO层(实现数据库信息的查询,更新等)Accout : 实体类AccountDAO : 实体类操作数据库的接口,

uni-app笔记---HbuilderX快捷键_郎lang郎的博客-程序员ITS304_uniapp全局搜索快捷键

几个常用的记录一下vbase:生成一段基本的vue代码结构viewfor:生成一段带有v-for循环结构的视图代码块常用js代码块iff:简单if forr:for循环结构体 fori:for循环结构体并包含i funn:函数 funa:匿名函数 rt:return true clog:输出:"console.log()" clogvar:增强的日志输出,...

SL651-2014 《水文监测数据通信规约》 中心站查询遥测站实时数据详解_A__wood的博客-程序员ITS304_水文监测数据通信规约

 SL651-2014 《水文监测数据通信规约》中心站查询遥测站实时数据详解全国水文标准化技术委员会水文仪器分技术委员会为适应我国水文仪器标准化工作的迅速发展,对用来监测河流、水库等水情的水文遥测终端RTU的数据通信制定了SL651-2014《水文监测数据通信规约》,本文将以蓝普lanpu-1802型水文遥测终端RTU为例,详细介绍SL651-2014《水文监测数据通信规约》要求的,中心站查询遥测...

Seasar的ORM框架Doma学习笔记系列1——安装设置_死鸡的博客-程序员ITS304_doma框架

官方网站:http://doma.seasar.org/index.htmlDoma的一大优势是完全实现了代码跟sql文件的分离。1. 安装设置 1)doma要求JDK1.6以上的JDBC。 2)把doma-x.x.x.jar包导入工程。 3)注解处理设定    工程属性,【Java Compiler】 - 【Annotation Processing】里,

这可能是目前最全的!这些细节在Java面试上要注意了_普通网友的博客-程序员ITS304

前言提到IT人员,人们的第一印象就是高薪资,包括转行来学Java的人绝大多数都是冲着高薪以及就业广泛来的。前段时间跟同学聊天,她说她老公在一家互联网公司做Java后台开发,年薪四十万,最近在准备复习,想着明年冲一波阿里p6或者p7。很多人都听过阿里的p级职位层级,那今天就跟大家“揭秘”一下,想要成为p7岗的Java技术专家你需要掌握哪些技术。本篇文章我将分成三个内容来讲:①了解阿里p级职位,大厂岗位薪资(2020)②阿里p7技术专家水平(Java岗)③如何让自己一步步贴近p7技术专家分享第

基于多重继承与信息内容的知网词语相似度计算 - 论文及代码讲解_机智翔学长的博客-程序员ITS304

论文:《基于多重继承与信息内容的知网词语相似度计算》-2017-张波,陈宏朝等 查看代码:https://github.com/yaleimeng/Final_word_Similarity总体感受:太乱了,有可能是之前没怎么接触这块。看论文,搞不懂怎么回事,义项、义原是啥,怎么这么多定义,到头来还是不懂两个词的相似度怎么计算,比哈工大词林那篇论文复杂多了。看代码,函数调来调去,一会这个...

随便推点

java版飞机大战小游戏详细教程(零基础小白也可以分分钟学会!!!)_胖胖的懒羊羊的博客-程序员ITS304_java飞机大战教程

目录一:游戏展示二:游戏教程1.View视图层1.1制作游戏面板类1.2.制作游戏内容显示类2.enetiy实体层2.1游戏实体抽象类2.2战机类2.3敌机类2.4战机不断出现类3.controller控制飞机移动层3.1PlaneController类4.utils工具层4.1飞机常量类4.2加载图片类5.run启动层5.1游戏启动类三:游戏源码一:游戏展示飞机大战小游戏我们都玩过,通过移动飞机来打敌机,这里给大家展示一下游戏成果:呜呜呜由于gif只能上传5M大小,所以就不能给大家展示操作了,如果大

EXT4.0 (4~9章)学习资料_clever027的博客-程序员ITS304

第四章 MVC学习 从这个图中我们可以很清楚的看到M 、V、C在ExtJS4.0里面所对应数据类型。 靠右边是对应的代码结构。 下描述一下这model、store、view、controller以及application这几者之间的关系。(1)application:它是MVC的入口,用来告诉ExtJS到那里去找对应js文件以及启动加载controlle

2021年华为认证考试费用是多少_20004的博客-程序员ITS304_华为ip证书多少钱

有一些朋友打算在2021年参加华为网络工程师这方面的考试,所以想知道这方面的考试费用是多少,自己好有一个准备,那么网络工程师成长日记,作者小编来给大家介绍好让大家有一个准备如果你是找工作为目的的话,一般来说你至少要考华为hcip,也就是中级网络工程师以上这个认证,如果你非常清楚华为的初级,中级高级这三个级别,那么你也可以把最高级别这个认证作为你的考试目标所以首先你要考哪个级别是你需要自己心里清楚的华为的初级考试费用也就是1000多块钱华为的中级考试费用是480美金,折合成人民...

Flutter筑基——学好 Dart,才能玩转 Flutter_willwaywang6的博客-程序员ITS304

目录前言正文Dart 开发环境的搭建最后参考前言我们知道 Flutter 这个 UI 框架是使用 Dart 语言开发的,这说明要玩转 Flutter,就要先学好 Dart。那么,怎么学好 Dart 呢?有的同学抱着“不就是一门语言嘛”的心态,直接开始写 Flutter,然后遇到问题了,再去查看 Dart 的文档。这也是一种学习 Dart 的方式,但这种方式可能不适合大多数同学。庆幸地是,可以去查看 Dart 官网上的示例,比如Language-tour,就讲解了 Dart 的语法。但是,官网上的

破解使用radius实现802.1x认证的企业无线网络_Sword-heart的博客-程序员ITS304

0x01前言概述针对开放式(没有密码)无线网络的企业攻击,我个人感觉比较经典的攻击方式有2种,一种是eviltwin,一种是karma。karma应该是eviltwin攻击手法的升级版,攻击者只需要简单的监听客户端发的ssid探测和响应包就可以实现中间人了,受害者很少会有察觉。而且坊间曾有一个错误的认识,认为隐藏的ssid是不受karma影响的。但是实际情况是,客户端如果曾经连接过隐藏的ssid,也会广播这些网络的探测包。尽管karma这种攻击方式已经有10多年的历史了,但是在MAC OSX,ubunt

推荐文章

热门文章

相关标签