#使用模块json 来存储数据。
# JSON(JavaScript Object Notation)格式最初是为JavaScript开发的,但随后成了一种常见格式,被包括Python在内的众多语言采用。
import json
numbers=[1,2,3,4]
filename='number.json'
with open (filename,'w') as file:
json.dump(numbers,file)
读取到内存:
import json
filename='number.json'
with open(filename) as file:
numbers=json.load(file)print(numbers)
保存和读取用户生成的数据:
#保存和读取用户生成的数据
import json
# 如果以前存储了用户名,就加载它
# 否则,就提示用户输入用户名并存储它
filename ='username.json'try:
with open(filename) as f_obj:
username = json.load(f_obj)
except FileNotFoundError:
username =input("What is your name? ")
with open(filename,'w') as f_obj:
json.dump(username, f_obj)print("We'll remember you when you come back, "+ username +"!")else:print("Welcome back, "+ username +"!")
重构:
import json
def get_stored_username():"""如果存储了用户名,就获取它"""
filename ='username.json'try:
with open(filename) as f_obj:
username = json.load(f_obj)
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 f_obj:
json.dump(username, f_obj)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()