python中json格式处理和字典的关系
作者:流花飞羽8 时间:2021-04-10 04:35:12
前言:作为测试工程师都知道,json格式的文件使我们常用的一种数据存放形式,那么对于python文件的处理,python语言有着得天独厚的条件,json的本质是键值对形式存储的,这就非常像python语言中的字典,所以有很多字典形式的函数与方法,是直接可以使用的。
今天我们先讲一下编写python脚本处理json的核心功能,有些散乱,后期在进行整体脚本的编写。
1、json文件读取后的操作
json文件读取后的操作和字典的操作一样,可以将dict中相关的内置方法都继承过来,但是json文件中会有list形式和dict形式的混合存在。
此时要注意区分。
json文件数据结构走的是dict的结构,键值对
(1)修改值非常方便,
json["id"]=3001
(2)修改键就麻烦一点。
dict字典没有直接修改键的概念与方法,
修改键:先把原有的键值对删除,在添加新的键值对,注意获取旧键值对的value,传递给新的键值对的value
获取value:value=json['request']["session_id"]
删除键值对:json['request'].pop("session_id")
新增键值对:json['request'].setdefault("operation_id",value)
2、python递归路径文件夹中的所有文件
def jsonfilePath_read(inputfilePath, outfilepath):
rightCount = 0
errorCount = 0
for file in os.listdir(inputfilePath):
try:
print(file)
read_jsonfile_change2(str(inputfilePath + '/' + file), outfilepath + '/' + file)
print(file + '修改成功')
rightCount += 1
except:
print(file + '文件有误修改失败')
errorCount += 1
print('文件修改完成 ', rightCount, '个文件成功', errorCount, '个文件有误')
解说核心代码:
核心代码:
for file in os.listdir(inputfilePath):
#file就是当前路径中的所有文件名,使用的时候别忘了路径+'/' + file
try:
....inputfilePath + '/' + file
except:
print().....
3、json文件的读取与写入新文件
读一遍写一遍可以实现json的格式化,解决json在txt文件中是单行显示的问题。
# 读取文件
with open('file/test.json', 'r', encoding='utf8') as f:
json_data = json.load(f)
jsondict = json_data
# 写入新文件
with open('outfile/test.json', 'w', encoding='utf8') as r:
json.dump(jsondict, r, ensure_ascii=False, indent=4)
print('新文件生成完成')
核心点说明:
读取、写入encoding='utf8' 防止编码问题 indent=4,好像是空4个格,美观输出
来源:https://blog.csdn.net/u013521274/article/details/125119342
标签:python,json,格式,字典
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
将ASP记录集输出成n列的表格形式显示的方法
2011-04-08 10:51:00
mssql存储过程表名和字段名为变量的实现方法
2011-12-01 07:59:13
asp如何编写一个最简单的聊天程序?
2009-11-08 19:04:00
向MySQL数据库的表中录入数据的实用方法
2008-12-17 16:24:00
详解python中的数据类型和控制流
2022-08-11 14:32:50
Asp定时执行操作 Asp定时读取数据库(网页定时操作详解)
2011-03-17 11:04:00
JavaScript事件委托技术实例分析
2023-07-01 01:18:23
PHP中最低级别的错误类型总结
2023-09-04 16:46:17
眼未动,心已动【碳酸饮料会】
2009-09-01 19:32:00
![](https://img.aspxhome.com/file/UploadPic/20099/1/t1qlbxxobrxxxxxxxx-455-221-73s.jpg)
Varchar与char的区别
2008-02-28 12:44:00
PHP使用redis实现分布式锁的示例详解
2023-06-01 16:32:19
对抗MySQL数据库解密高手
2008-12-25 13:14:00
JS代码的格式化和压缩
2007-10-17 21:17:00
Python decorator拦截器代码实例解析
2022-04-07 11:03:47
Python装饰器的练习题
2023-12-07 13:11:48
将python包发布到PyPI和制作whl文件方式
2023-07-29 04:38:03
python笔记_将循环内容在一行输出的方法
2022-08-11 20:27:09
![](https://img.aspxhome.com/file/2023/7/69517_0s.jpg)
Python实现线程池代码分享
2021-09-24 18:13:43
查找备注(text,ntext)类型字段为空的方法
2008-08-02 12:47:00
JavaScript中的函数声明和函数表达式区别浅析
2023-08-05 23:22:36