文章目录
- 一、存储数据
-
- 1.使用json.dump()和json.load()
- 2.保存和读取用户生成的数据
- 3.重构
一、存储数据
很多情况下,我们需要把用户传入的信息存储在列表或者字典等数据结构中。用户关闭程序时,保存用户提供的信息。一种简单的方式是使用模块json来存储数据。
模块json让我们能够将简单的python数据结构转储到文件中,并在程序再次运行时加载该文件中的数据。还可以使用json在python程序之间分享数据。
JSON(最初是为了JavaScript开发的)数据格式并非python专用,这让我们能够将以JSON格式存储的数据与使用其他编程语言的人分享。
1.使用json.dump()和json.load()
例1:编写一个存储一组数的简短程序,使用json.dump()来存储这组数。
函数json.dump()接受两个实参:要存储的数据,以及可用于存储数据的文件对象。下面演示了如何使用json.dump()来存储数字列表。
import jsonnumbers = [2,3,5,7,11,13]filename = 'numbers.json'
with open(filename,'w') as f:json.dump(numbers,f)
运行结果:
先导入模块json,再创建一个数字列表,指定将数字列表存储到那个文件中。使用文件扩展名.json来指出文件存储的数据为JSON格式。接下来,以写入模式来打开这个文件,让json能够将数据写入其中,最后使用函数json.dump()将数字列表存储到文件numbers.json中。
例2:再编写一个将数据读取到内存中的程序,使用json.load()
import jsonfilename = 'numbers.json'
with open(filename) as f:numbers = json.load(f)print(numbers)
运行结果:
确保读取的时前面写入的文件。这次以读取方式打开该文件,使用函数json.load()加载存储在numbers.json中的信息,并将其赋给变量numbers。最后。
这是一种在程序之间共享数据的简单方式。
2.保存和读取用户生成的数据
使用json保存用户生成的数据大有裨益,因为如果不以某种方式存储,用户的信息会在程序停止运行时丢失。
例:
import json#如果以前存储了用户名,就加载它
#否则,提示用户输入用户名并存储他
filename = 'username.json'
try:with open(filename) as f:username = json.load(f)
except FileNotFoundError:username = input("what is your name?")with open(filename,'w') as if:json.dump(username,f)print(f"We'll remember you when you come back,{
username}")
else:print(f"Welcome back,{
username}")
3.重构
我们经常会遇到这种情况:代码能够正常运行,但通过将其划分为一系列完成具体工作的函数,还可以改进。这样的过程称为重构。
重构让代码更清晰、更易于理解、更容易扩展。
例:重构下面这个程序,可将其大部分逻辑梵高一个或多个函数中。这个程序的重点是问候用户,因此将其所有代码都放到一个函数中。