模块json能将简单的Python数据结构存储到文件中,当程序在运行是会加载该文件中的数据;同时,还可以使用json在程序间分享数据。

PS.json格式最初是为JavaScript开发,随后被包括Python在内的众多语言所采用。

使用json.dump()和json.load()

在这里,我们编写一个存储一段数字和将这段数字读取到内容中的程序,前面的程序使用json.dump()函数来存储数字,后面的程序使用json.load()函数来读取。

如下例,我们首先使用import语句导入json模块,接着创建一个数字列表numbers,同时指定该数字列表存储到其中的文件的名称filename,通常,会使用文件扩展名.json指出存储的文件为json格式。接下来,我们以写入模式打开文件,将数据写入文件其中,最后,使用函数json.dump(),该函数主要接受要存储的数据以及用于存储该段数据的文件对象这两个实参。


python读取json单引号 python怎么读取json数据_json


我们进入小鲸云课堂的时候,会提示我们输入用户名以及其他信息,程序就要将各位提供的信息存储在列表、字典等数据结构中。即使各位关闭程序,那些数据也需要保存,因此,我们就需要模块json的协助啦~

昨天,我们都当上了修理工,扛起锄头修理了Python的异常,今天,小鲸带大家体验一下仓储管理员吧,我们来了解一下Python如何存储数据~

该段程序没有输出结果,但是我们可以在程序所在目录中找到numbers.json文件,并打开:


python读取json单引号 python怎么读取json数据_Python_02


我们接下来再使用json.load()将这个列表读取到内存中:


python读取json单引号 python怎么读取json数据_数据_03


我们使用open()函数的读取模式打开文件,并接着使用json.load()加载存储在numbers.json中的数据,并将其存储在变量numbers中,最后将其打印出来,得到输出结果。

保存和读取用户生成的数据

各位小伙伴登录小鲸云课堂时生成的数据,我们也可以通过json模块来保存。如下例:


python读取json单引号 python怎么读取json数据_python读取json单引号_04


我们在导入json模块后,提示输入用户名,并将其存储在变量username中,接着操作和上一小节一样调用函数json.dump()。最后打印出一条消息,表示我们已经存储了用户所输入的信息:


python读取json单引号 python怎么读取json数据_json_05


接下来,我们继续调用json.load()函数读取:


python读取json单引号 python怎么读取json数据_数据_06


我们使用json.load()函数将存储在username.json文件中的信息读取到变量username中:


python读取json单引号 python怎么读取json数据_Python_07


如果,我们将包含两个函数的程序合并到一个程序中,那我们要采用上篇文章中接触到的try-except-else代码块,大家刚好可以温习一下哦。


python读取json单引号 python怎么读取json数据_数据_08


看上图,我们在try代码块中输入了尝试打开username.json文件的操作,如果这个文件不存在,则会执行except代码块;如果文件存在,则会执行else代码块,我们将两种情况的输出结果都罗列在下图中:


python读取json单引号 python怎么读取json数据_数据_09


关于异常与文件处理的这块内容,今天就结束啦