当前位置: 代码迷 >> 综合 >> 【笔记】python的存储数据:使用json.dump()和json.load()、保存和读取用户生成的数据、重构
  详细解决方案

【笔记】python的存储数据:使用json.dump()和json.load()、保存和读取用户生成的数据、重构

热度:20   发布时间:2023-11-21 11:47:21.0

文章目录

  • 一、存储数据
    • 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.重构

我们经常会遇到这种情况:代码能够正常运行,但通过将其划分为一系列完成具体工作的函数,还可以改进。这样的过程称为重构

重构让代码更清晰更易于理解更容易扩展

:重构下面这个程序,可将其大部分逻辑梵高一个或多个函数中。这个程序的重点是问候用户,因此将其所有代码都放到一个函数中。

  相关解决方案