Python用json模块存储数据的方法

  介绍

这篇文章主要介绍Python用json模块存储数据的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

<强>存储数据

很多程序都要求用户输入某种信息,程序把用户提供的信息存储在列表和字典等数据结构中。用户关闭程序时,就要保存提供的信息,一种简单的方式就是使用模块json来存储数据。

模块json能将简单的Python数据结构存储到文件中,并在程序再次运转时加载该文件中的数据。还可以使用json在Python程序之间分享数据,与使用其他编程语言的人分享。

<强> 1。使用json。转储()和json。load()

import  json   时间=numbers [2, 3, 5, 7日,11日,13)   时间=filename  & # 39; number.json& # 39;   with  open (filename, & # 39; w # 39;), as  f_ojb:,, #,以写入模式打开文件   ,,,json.dump(数字,f_ojb),, #,使用函数json.dump()将列表存储到文件中   with 开放(文件名),as  f_ojb:   ,,,nums =, json.load (f_ojb),, #,使用函数json.load()将这个列表读取到内存中   打印(num),, #,打印读取到内存中的列表,比较是否与存入的列表相同

,运行结果:

[2,3,5,7日,11日,13]

<强> 2。保存和读取用户生成的数据

import  json   #,存储用户的名字   时间=username 输入(& # 39;What  is  your 名字?,& # 39;)   时间=filename  & # 39; username.json& # 39;   with  open (filename, & # 39; w # 39;), as  f_obj:   ,,,json.dump(用户名,f_obj),, #,存储用户名与username.json文件中   ,,,print(“我们# 39;ll  remember 你when 你come 回来,,,,+,username  +,“!“)   #,向名字被存储的用户发出问候   with 开放(文件名),as  f_obj:   ,,,un =, json.load (f_obj)   ,,,print (“\ nWelcome 回来,,,,+,un  +,“!“)

运行结果:

What  is  your 名字?濒危语言联盟   我们# 39;ll  remember 你when 你come ,,濒危语言联盟!   Welcome ,,濒危语言联盟!

优化上述代码:

import  json   #,存储用户的名字   时间=username 输入(& # 39;What  is  your 名字?,& # 39;)   时间=filename  & # 39; username.json& # 39;   with  open (filename, & # 39; w # 39;), as  f_obj:   ,,,json.dump(用户名,f_obj),, #,存储用户名与username.json文件中   ,,,print(“我们# 39;ll  remember 你when 你come 回来,,,,+,username  +,“!“)   #,向名字被存储的用户发出问候   with 开放(文件名),as  f_obj:   ,,,un =, json.load (f_obj)   ,,,print (“\ nWelcome 回来,,,,+,un  +,“!“)

运行结果:

What  is  your 名字?濒危语言联盟   我们# 39;ll  remember 你when 你come ,,濒危语言联盟!   Welcome ,,濒危语言联盟!

优化上述代码:

import  json   #,若存储了用户名就加载,否则提示用户输入并存储   时间=filename  & # 39; username.json& # 39;   试一试:   ,,,with 开放(文件名),as  f_obj:   ,,,,,,,username =, json.load (f_obj)   except  FileNotFoundError:   ,,,username =,输入(& # 39;What  is  your 名字?,& # 39;)   ,,,with 开放(文件名,& # 39;w # 39;), as  f_obj:   ,,,,,,,json.dump(用户名,f_obj)   ,,,,,,,印刷(“我们# 39;ll  remember 你when 你come 回来,,,,+,username  +,“!“)   其他:   ,,,print (“\ nWelcome 回来,,,,+,username  +,“!“)

运行结果:

Welcome ,,濒危语言联盟!

<强> 3。重构

代码可以运行,但也可以做进一步改进,将代码划分成一些列完成具体工作的函数:这个过程称为重构。

目的:让代码更清晰,易于理解,易扩展。

import  json   def  get_stored_username ():   ,,,“““如果存储了用户名,就获取它“““   ,,,filename =, & # 39; username.json& # 39;   ,,,试一试:   ,,,,,,,with 开放(文件名),as  f_obj:   ,,,,,,,,,,,username =, json.load (f_obj)   ,,,except  FileNotFoundError:   ,,,,,,,return 没有   ,,,:   ,,,,,,,return 用户名   def  get_new_username ():   ,,,“““提示用户输入用户名“““   ,,,username =,输入(& # 39;What  is  your 名字?,& # 39;)   null   null   null   null   null   null   null   null   null   null   null   null   null

Python用json模块存储数据的方法