一、json存储和读取数据
很多程序会要求用户输入数据信息,例如列表,字典等,对于用户输入的数据,如果不以某种方式进行存储,等程序停止运行时用户的数据将会丢失。
模块json能够将用户输入的数据转存到文件中,当用户关闭程序时,保存其输入的信息,并在程序再次运行时加载该文件中的数据。
json (JavaScript Object Notation)格式最初是为JavaScript开发的,随后成了一种常见格式,被包括python在内的众多语言采用,以json格式存储的数据可以与其他编程语言分享。
1、josn.dump()存储数据
函数json.dump( )的功能是将数据存储到文件中。
语法格式:
json.dump(存储的数据,文件名)
json.dump( )有两个实参:一个是要存储的数据,另一个是用于存储数据的文件对象。
在上例中,我们先导入模块json,再创建一个姓名列表names,然后指定该姓名列表存储的文件名称names.json。文件扩展名.json指出文件存储的数据为json格式。
接下来,我们使用open打开这个文件,使用函数json.dump( )将姓名列表存储到文件names.json中。
运行程序后,这个程序没有输出,但可以打开文件夹中的nums.json,其中的内容为姓名列表names,数据的存储格式与在python中一样。
2、json.laod()读取数据
函数json.load的功能是将数据读取到内存中。
语法格式:
json.load(文件名)
json.dump( )有一个参数,是存储数据的文件名。
在上例中,我们使用以读取的方式打开文件names.json,使用函数json.load( )加载存储在names.json中的信息,并将其存储到变量names中。最后通过print输出姓名列表,输出的列表与文件中创建的一样,这是一种在程序间共享数据的简单方式。。
3、保存和读取数据示例
下面我们来看一个运用示例:用户首次运行程序时被提示输入自己喜欢的颜色,使用json.dump()存储用户输入的颜色,另一个程序使用json.load()读取颜色,并输出系统记住用户喜欢的颜色了。
二、动手实践
编写一个程序,提示用户输入他喜欢的水果,并使用json.dump() 将这个水果名存储到文件中,再使用json.load()从文件中读取这个水果,并输出 “I know your favorite fruit ! It's .”。
,