本文实例讲述了Python实现的读写json文件功能。分享给大家供大家参考,具体如下:
相比java,python对json文件的处理就简单很多。java操作json文件的话需要引用jar包及相关依赖包,想用java操作json的同学可以去百度,这里就不赘述了。
首先说读json文件
在进行json操作之前,首先要了解json的格式,分辨json文件。
json文件格式一般有两种:
第一种:每行一个json类似于以下这种形式:
["name":"Tony","age":"21","hobbies" : ["basketball","tennis"]] ["name":"Lisa","age":"20","hobbies" : ["sing","dance"]]
这种json格式是每一行是一个json,行与行之间没有关联。
第二种:一个文件写成一个大的json
[ {"name":"Tony","age":"21","hobbies" : ["basketball","tennis"]}, {"name":"Lisa","age":"20","hobbies" : ["sing","dance"]} ]
这种格式每条记录之间用,连接。
下面读取json文件,利用json.load
函数
f = open('/home/codergray/company/test_2.json') #将json格式的数据映射成list的形式 t = json.load(f)
所以t是一个list,按照正常访问list的方法访问就可以。
str = t[0]['name'] print str
输出:
Tony
以上面的例子为例,访问t[0]也就是第一条json记录[‘name']代表name字段,因而就读出了值“Tony”
写json文件
写json一般是上文提到的json格式的第二种格式,也就是整体是一个大的json。
举个例子:
f = open('result.json','w') result = [] temp = {} temp['name'] = 'Tony' temp['age'] = '21' tamp['hobbies'] = ['basketball','tennis'] result.append(temp) f.write(json.dumps(result,ensure_ascii=False))
通过以上代码就将一个json写进了result.json文件,当然这个大json里面只有一条记录,如果想插入多条记录可以利用循环。json.dumps
方法可以看作是json.load
的逆过程,将list的数据格式转化为json存在json文件中。
PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat
在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans
更多Python相关内容感兴趣的读者可查看本站专题:《Python操作json技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
Python,读写,json文件
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。