详解Python中如何将数据存储为json格式的文件
作者:桃子dev 发布时间:2023-11-01 02:42:11
一、基于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)
控制台打印如下:
解释:读取操作,同样需要导入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)
控制台打印如下:
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)
控制台打印如下:
可以看到程序是可以正常运行的。说明我们编写的程序按正常操作运行是没有问题的。下一篇,我们重构这个例子,使之更完善。
来源:https://www.cnblogs.com/tizer/p/11067098.html
猜你喜欢
- INI是微软Windows操作系统中的文件扩展名。这些字母表示初始化。正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参
- 在对dataframe进行分析的时候会遇到需要分组计数,计数的column中属性有重复,但又需要仅对不重复的项计数(即重复N次出现的项只计1
- 随着短视频的大火,不仅可以给人们带来娱乐,还有热点新闻时事以及各种知识,刷短视频也逐渐成为了日常生活的一部分。本文以一个简单的小例子,简述如
- (一)、前言为什么引入消息队列?1.程序解耦2.提升性能3.降低多业务逻辑复杂度(二)、python操作rabbit mqrabbitmq配
- 需求背景:进行分值计算。如下图,如果只是一两个还好说,写写判断,但是如果有几十个,几百个,会不会惨不忍睹。而且,下面的还是三种情况。例如:解
- 项目信号处理和提取部分用到了matlab,需要应用到工程中方便研究。用具有万能粘合剂之称的“Python”。具体方法如下:1.python中
- python中冒号实际上有两个意思:1.默认全部选择;2. 指定范围。 下面看例子定义数组X=array([[1,2,3,4],[5,6,7
- 废话不多说,直接上代码吧!#python中,while语句用于循环执行程序,即在某个条件下,循环执行某段程序,以处理需要重复处理的相同任务。
- 为什么说浮点数缺乏精确性?在开始本文之前,让我们先来谈谈浮点数为什么缺乏精确性的问题,其实这不是Python的问题,而是实数的无限精度跟计算
- 我们前期开发了一个只有公司客服人员才能使用的系统——有限的几个客服人员。就是这有限的几个客服人员前几天突然就提出这样的问题:我们每隔很短一段
- 对我当前工程进行全部测试需要花费不少时间。既然有 26 GB 空闲内存,为何不让其发挥余热呢? tmpfs 可以通过把文件系统保
- 如何用Python搞到小姐姐私房照本文纯技术角度出发,教你如何用Python爬虫获取百度图库海量照片——技术无罪。学会获取小姐姐私房照同理可
- 在python中,向函数传递参数的类型有两种,一种是值传递,还有一种是引用传递,如果你恰恰好会一点c基础,你可以理解为前者为传递形参,而后者
- 绿色在黄色和蓝色(冷暖)之间,属于较中庸的颜色,这样使得绿色的性格最为平和、安稳、大度、宽容。是一种柔顺、恬静、满足、优美、受欢迎之色。也是
- 看了下函数本身的docgetattr(object, name[, default]) -> valueGet a named att
- 本文实例讲述了python实现从字典中删除元素的方法。分享给大家供大家参考。具体分析如下:python的字典可以通过del方法进行元素删除,
- 项目github地址:bitcarmanlee easy-algorithm-interview-and-practice1.Python中
- 实例是具象化的类,它可以作为类访问所有静态绑定到类上的属性,包括类变量与方法,也可以作为实例访问动态绑定到实例上的属性。实例1:class
- 前言matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包。在使用Python matplotlib库绘
- Css Reset是什么? 有些同行叫 "css复位",有些可能叫 "默认css".....相信看完