第10章 文件和异常
import json
num_str = input("Please input your favourite number: ")
num = int(num_str)
with open('num.json', 'w') as fout:
json.dump(num, fout)
import json
with open('num.json', 'r') as fin:
num = json.load(fin)
print("I know your favourite number! It's " + str(num) + ".")
import json
fname = 'num.json'
try:
with open(fname) as fout:
num = json.load(fout)
except FileNotFoundError:
num_str = input("Please input your favourite number: ")
num = int(num_str)
with open(fname, 'w') as fin:
json.dump(num, fin)
else:
print("I know your favourite number! It's " + str(num) + ".")
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? ")
return username.title()
def store_new_username(username):
"""把用户名存入json"""
filename = 'username.json'
with open(filename, 'w') as f_obj:
json.dump(username, f_obj)
def greet_user():
"""问候用户,并指出其名字"""
stored_username = get_stored_username()
new_username = get_new_username()
if stored_username:
if stored_username == new_username:
print("Welcome back, " + stored_username + "!")
else:
print("Change user " + stored_username + " to user " +
new_username)
store_new_username(new_username)
else:
print("We'll remember you when you come back, " + new_username + "!")
store_new_username(new_username)
greet_user()