"""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),注销用户是指注销用户的登录状态,使其在访问任何页面时,必须重新登录。""" # ========================eval做的====================================== # # import time #引入时间模块 # username = None #设立一个全局变量 后面调用 # flag = False # 设一个flag,判断是否登陆 # # # def record_log(fn): #装饰器函数,记录日志功能 # def inner(*args,**kwargs): # with open("log","r+",encoding="utf-8") as f: # f.write(f"用户{username}在%s, 访问了%s函数\n" % (time.strftime("%Y-%m-%d %H:%M:%S"), fn.__name__)) # fn(*args,**kwargs) # return inner # # # def login_verify(fn): #装饰器函数,验证是否登陆功能 # def inner(): # while 1: # if flag: #判断是否登陆 # fn() # break # else: #没登陆执行登陆函数 # login() # return inner # # def show(): #展示给用户博客园的功能 # print("欢迎来到博客园首页\n" # "1:请登录\n" # "2:请注册\n" # "3:文章页面\n" # "4:日记页面\n" # "5:评论页面\n" # "6:收藏页面\n" # "7:注销\n" # "8:退出程序") # # # # def login(): # 登陆函数 # global flag #登陆成功后便于修改flag # n = 1 # while n < 4 : # user_input_name = input("请输入您的用户名:").strip() # user_input_pwd = input("请输入您的密码:").strip() # with open("register", "r", encoding="utf-8") as f: # for line in f: # dic = eval(line) # if user_input_name == dic["username"] and user_input_pwd == dic["password"]: # print("登陆成功") # flag = True #修改flag,后面函数都不用登陆了 # global username #修改全局username,使其能用于其他函数 # username = user_input_name # return # else: # continue # else: # print(f"用户名或密码错误,您还剩{3-n}次机会") # n += 1 # # # def register(): #注册函数 # global flag # with open("register", "r+", encoding="utf-8") as f: # while flag == False: # user_input_name = input("请输入您要注册的用户名:").strip() # user_input_pwd = input(("请输入您的密码:").strip()) # for line in f: # dic = eval(line) # if user_input_name == dic["username"]: # print("用户名已存在,请重新输入:") # else: # continue # break # else: # #将没有重复的按固定格式写入文件 # f.write("\n" + '{"username":' + '"' + f"{user_input_name}" + '",' + '"password":' + '"' + f"{user_input_pwd}" + '"'"}") # print("注册成功") # flag = True # show() # # @login_verify # @record_log # def paper(): #文章页面函数 # if flag == True: # print(f"欢迎{username}访问文章页面") # # @login_verify # @record_log # def diary(): #日记页面函数 # if flag == True: # print(f"欢迎{username}访问日记页面") # # @login_verify # @record_log # def comment(): #评论页面函数 # if flag == True: # print(f"欢迎{username}访问评论页面") # # @login_verify # @record_log # def collect(): #收藏页面函数 # if flag == True: # print(f"欢迎{username}访问收藏页面") # # def logout(): #注销函数, # flag = False # # def quik(): #退出函数 # exit() # # def start(): #启动函数 # while True: # show() # user_choice = input("请输入您要选择的操作:").strip() # if user_choice == "1": # login() # elif user_choice == "2": # register() # break # elif user_choice == "3": # paper() # break # elif user_choice == "4": # diary() # break # elif user_choice == "5": # comment() # break # elif user_choice == "6": # collect() # break # elif user_choice == "7": # logout() # elif user_choice == "8": # quik() # else: # print("输入有误,请重新输入:") # # start()
模拟博客园登陆
最新推荐文章于 2023-02-14 16:55:23 发布