10.4 Python存储数据
一般使用JSON格式存储和分享数据
json.dump()存储数据,json.load()读取内存中的数据
10.11
import json
#输入最喜欢的数字存储到文件中
number=input('your favorite number\n')
filemane='number.json'
with open(filemane,'w') as f_obj:
json.dump(number,f_obj)
#从文件中读取最喜欢的数字
with open(filemane) as f_obj:
number1=json.load(f_obj)
print('I know tour favorite number is '+str(number1))
10.12
import json
filename = 'favorite_number.json'
`在这里插入代码片`# 读取文件是够有最爱的数字
try:
with open(filename) as f_obj:
favorite_number = json.load(f_obj)
# 没有遇到错误,那就输入最爱的数字
except FileNotFoundError:
with open(filename,'w') as f_obj:
favorite_number = input('What\'s your favorite number ? \n')
json.dump(favorite_number,f_obj)
else:
message = 'I know your favorite number . It\'s '
print (message + favorite_number + '.\n')
10.13
import json
# 如果之前有存储名字,那就获取他
def get_stored_username(name):
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(name):
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(name):
username=get_stored_username(name)
if username:
current_username=input('Is '+username.title()+' Your name?\n')
print("Enter 'y/Y' for yes")
if current_username.lower()=='y':
print('Welcome back,'+username.title()+"!\n")
else:
username=get_new_username(name)
print('We will remember you when you come back, '+username+"!")
greet_user('shenzhenfang')