Python的json格式读取及写入操作是什么
Admin 2022-08-12 群英技术资讯 1149 次浏览
这篇文章给大家介绍了“Python的json格式读取及写入操作是什么”的相关知识,讲解详细,步骤过程清晰,有一定的借鉴学习价值,因此分享给大家做个参考,感兴趣的朋友接下来一起跟随小编看看吧。今天我们先讲一下编写python脚本处理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)
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().....
读一遍写一遍可以实现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个格,美观输出
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了python基于opencv实现目标追踪示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
这篇文章主要给大家介绍的是关于Python内置函数zip的使用。对于zip()函数,是用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个原则,再返回由这些元组组成的列表。那么具体Python内置函数zip如何使用呢?下面一起来看看。
这篇文章主要介绍了python实战之利用pygame实现贪吃蛇游戏,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好的帮助哟,需要的朋友可以参考下
怎样用python写一个截屏工具?对于截屏工具的应用场景有很多,我们经常可以使用到,截屏工具也是比较实用的,下面我们就来看看用Python怎样实现截屏工具。感兴趣的朋友可以参考看看。
一些朋友想要知道怎样提取视频中的音频,其实我们能使用Python来实现。本文就给大家分享Python提取视频中的音频的操作流程,供大家参考,感兴趣的朋友可以了解看看。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008