10-13 验证用户:最后一个remember_me.py版本假设用户要么已输入其用户名,要么是首次运行该程序。我们应修改这个程序,以应对这样的情形:当前和最后一次 运行该程序的用户并非同一个人。
为此,在greet_user() 中打印欢迎用户回来的消息前,先询问他用户名是否是对的。如果不对,就调用get_new_username() 让用户输入正确的用户名。
这个题目很有意思,实际上如果你把输入的文件 username.js 清空为空文件,那么如果按照课本的程序, get_stored_username() 函数里
你程序为 except FileNotFoundError: 或者 except IOError: 你都会很无奈的出现报错,而不是按照料想的那样,程序 会问 what’s your name?
给出解决此方案的 程序如下,大家可以看看:
import json
def get_stored_username():
"""如果存储了用户名,就获取它"""
filename = 'username.json'
try:
with open(filename) as file_object:
username = json.load(file_object)
except json.decoder.JSONDecodeError:
return None
else:
return (username)
def get_new_username