第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()