详解Python中如何将数据存储为json格式的文件


Posted in Python onNovember 18, 2020

一、基于json模块的存储、读取数据

names_writer.py

import json

names = ['joker','joe','nacy','timi']

filename='names.json'
with open(filename,'w') as file_obj:
  json.dump(names,file_obj)

解释:我们先导入json模块,再创建一个名字列表,第5行我们指定了要将该列表存储到其中的文件的名称。通常使用扩展名.json来指出文件存储的数据为json格式。第6行我们以写入模式打开文件,第7行我们使用函数json.dump()将名字列表存储到文件names.json 中。此程序在执行之后控制台没有打印任何东西,其实我们也可以在后面打印一句类似成功的提示语句,但此处我就省略了。

我们看下names_writer.py 所在文件夹下的names.json文件(tips:如果文件夹下不存在此文件会自动创建并写入数据),names.json 中的内容如下:

["joker", "joe", "nacy", "timi"]

下面编写读取此json文件的程序:

names_reader.py

import json
filename='names.json'
with open(filename) as file_obj:
  names = json.load(file_obj)

print(names)

控制台打印如下:

详解Python中如何将数据存储为json格式的文件

解释:读取操作,同样需要导入json模块,第6行代码我们使用读取模式打开文件,第7行,我们使用函数json.load() 来读取names.json 中的信息,并将其存储到变量names中,最后将其打印。打印结果与我们存储时是一样的。json文件你也可以共享给其他人,其他人就可以读取其中的数据了,这是一种程序间共享数据的简单方式。

我们来用以上的知识解决下具体的问题。

问题:编写一个程序,提示用户输入他喜欢的水果,并使用json.dump() 将这个水果名存储到文件中。再编写一个程序,从文件中读取这个值,并打印消息 “I know your favorite fruit ! It's _____ .”。

favorite.py

import json

filename = "favorite_fruit.json"

fruit = input( "What is your favorite fruit?")
with open(filename,'w') as file_obj:
  json.dump(fruit,file_obj)

控制台打印如下:

详解Python中如何将数据存储为json格式的文件

reader_favorite.py

import json

file_name = "favorite_fruit.json"
with open(file_name) as file_obj:
  fruit = json.load(file_obj)

print("I know your favorite fruit ! It's " + fruit)

控制台打印如下:

详解Python中如何将数据存储为json格式的文件

可以看到程序是可以正常运行的。说明我们编写的程序按正常操作运行是没有问题的。下一篇,我们重构这个例子,使之更完善。

到此这篇关于详解Python中如何将数据存储为json格式的文件的文章就介绍到这了,更多相关Python存储为json内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python删除指定目录下过期文件的2个脚本分享
Apr 10 Python
Python的高级Git库 Gittle
Sep 22 Python
Python THREADING模块中的JOIN()方法深入理解
Feb 18 Python
Python实现好友全头像的拼接实例(推荐)
Jun 24 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
Sep 30 Python
python 对txt中每行内容进行批量替换的方法
Jul 11 Python
python实现写数字文件名的递增保存文件方法
Oct 25 Python
详解python解压压缩包的五种方法
Jul 05 Python
django中forms组件的使用与注意
Jul 08 Python
如何使用Python脚本实现文件拷贝
Nov 20 Python
对python中 math模块下 atan 和 atan2的区别详解
Jan 17 Python
Python基于当前时间批量创建文件
May 07 Python
python3中calendar返回某一时间点实例讲解
Nov 18 #Python
关于Python3的import问题(pycharm可以运行命令行import错误)
Nov 18 #Python
python 实现弹球游戏的示例代码
Nov 17 #Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
Nov 17 #Python
python 发送get请求接口详解
Nov 17 #Python
python 使用tkinter+you-get实现视频下载器
Nov 17 #Python
Jupyter notebook命令和编辑模式常用快捷键汇总
Nov 17 #Python
You might like
完美实现wordpress禁止文章修订和自动保存的方法
2014/11/03 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
jquery实现自适应banner焦点图
2017/02/16 Javascript
layui分页效果实现代码
2017/05/19 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
Angular网络请求的封装方法
2018/05/22 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
2019/01/21 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
2019/12/08 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
js实现右键弹出自定义菜单
2020/09/08 Javascript
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
2021/02/23 Vue.js
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
[01:07:02]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第三场 2月26日
2021/03/11 DOTA
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
Python 获得13位unix时间戳的方法
2017/10/20 Python
Python/Django后端使用PIL Image生成头像缩略图
2019/04/30 Python
python多线程同步之文件读写控制
2021/02/25 Python
Python如何获取文件指定行的内容
2020/05/27 Python
Python新手如何进行闭包时绑定变量操作
2020/05/29 Python
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
html+js 实现markdown编辑器效果
2019/10/23 HTML / CSS
巴西儿童时尚购物网站:Dinda
2019/08/14 全球购物
雪山饭庄的创业计划书范文
2014/01/18 职场文书
责任书范本
2014/08/25 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
男方婚前保证书
2015/02/28 职场文书
使用jpa之动态插入与修改(重写save)
2021/11/23 Java/Android
Netflix《海贼王》真人版剧集多张片场照曝光
2022/04/04 日漫