1、模块json让你能够将简单的python数据结构转储到文件中,并在程序再次运行时加载该文件中的数据。你还可以使用json在python程序之间分享数据。JSON数据格式并非python专用的,这让你能够将以JSON格式存储的数据与使用其他编程语言的人分享。
注:JSON(javascript object notation)格式最初是为javascript开发的,但随后成为了一种常见格式,被包括python在内的众多语言采用。
2、使用json.dump()和json.load()
使用json.dump()来存储数字,此函数接受两个实参:要存储的数据以及可用于存储数据的文件对象。
import json
number=[2,3,4,5,6,7]
filename='numbers.json'
with open(filename,'w') as f_obj:
json.dump(number,f_obj)
//使用函数json.dump()将数值列表存储到文件numbers.json中
使用函数json.load()加载存储在numbers.json中的信息,并将其存储在变量numbers中。
import json
filename="numbers.json"
with open(filename) as file_object:
numbers=json.load(file_object)
print(numbers)
输出为:
D:\www>python number_read.py
[2, 3, 4, 5, 6, 7]
3、保存和读取用户生成的数据
import json
filename='username.json'
try:
with open(filename) as file_object:
username=json.load(file_object)
except FileNotFoundError:
username=input("what is your name?")
with open(filename,'w') as file:
json.dump(username,file)
print("We'll remember you when you come back, "+username+" !")
else:
print("Welcome back, "+username+" !")
输出为:
D:\www>python remember.py
what is your name?jin
We'll remember you when you come back, jin !
D:\www>python remember.py
Welcome back, jin !
4、重构——代码能够成功执行,但进一步改进,将代码划分为一系列完成具体工作的函数
import json
def get_stored_username():
filename='username.json'
try:
with open(filename) as file_object:
username=json.load(file_object)
except FileNotFoundError:
return None
else:
return username
def get_new_username():
username=input("What is your name?")
filename="username.json"
with open(filename,'w') as file_object:
json.dump(username,file_object)
return username
def greet_user():
username=get_stored_username()
if username:
print("Welcome back, "+username+" !")
else:
username=get_new_username()
print("We'll remember you when you come back, "+username+" !")
greet_user()