''' 作业题目: 模拟博客园登录 作业需求: 1),启动程序,首页面应该显示成如下格式: 欢迎来到博客园首页 1:请登录 2:请注册 3:文章页面 4:日记页面 5:评论页面 6:收藏页面 7:注销 8:退出程序 2),用户输入选项,3~6选项必须在用户登录成功之后,才能访问成功。 3),用户选择登录,用户名密码从register文件中读取验证,三次机会, 没成功则结束整个程序运行,成功之后,可以选择访问3~6项,访问页面之前, 必须要在log文件中打印日志,日志格式为-->用户:xx 在xx年xx月xx日 执行了 %s函数, 访问页面时,页面内容为:欢迎xx用户访问评论(文章,日记,收藏)页面 4),如果用户没有注册,则可以选择注册,注册成功之后,可以自动完成登录,然后进入首页选择。 5),注销用户是指注销用户的登录状态,使其在访问任何页面时,必须重新登录。 ''' def mk_file(): #判断文件是否存在,不存在则创建空文件 if not os.path.exists(register_file): f = open(register_file, mode="w", encoding="utf-8") f.close() def get_file_content(): #读取文件内容,返回一个字典 mk_file() with open(register_file, mode="r", encoding="utf-8") as f: content = f.read().strip() if content != "": content = eval(content) else: content = {} return content def edit_file_content(usr_dic): #修改文件内容 with open(register_file, mode="w", encoding="utf-8") as f: f.write(str(usr_dic)) def login(): #用户登录 global username usr_dic = get_file_content() if username != "": #检查用户是否已登录 if usr_dic.get(username, {}) != {}: if usr_dic[username]["status"] == "logged": return for i in range(3, 0, -1): # 三次机会 while 1: print("