介绍
这篇文章主要介绍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 nullPython用json模块存储数据的方法