# 原始函数:函数执行的时间用time.sleep(n)模拟 # 装饰器一:加上统计时间的功能 # 装饰器二:加上登录认证的功能:用户的账号密码来源于文件 # 1、登录成功一次,后续的函数都无需再输入用户名和密码 # 装饰器三:加上登录认证的功能:用户的账号密码来源于文件 # 2、登录成功一次,在超时时间内无需重复登录,超过了超时时间,则必须重新登录 import time def time_count(func): def hide(*args, **kwargs): star = time.time() func(*args, **kwargs) end = time.time() print('本程序执行耗时{}秒'.format(end - star)) return hide def login_check_1(func): def hide(*args, **kwargs): tag = 1 while tag: login_name = input('输入登录账号:').strip() login_pwd = input('输入登录密码:').strip() with open(r'02 账号库.txt', mode='rt', encoding='utf-8')as file: for check_info in file: check_list = check_info.strip().split(':') if login_name == check_list[0] and login_pwd == check_list[1]: print('===登录成功,后续程序将继续执行===') tag = 0 break else: print('用户名或密码错误,重新输入') func(*args, **kwargs) return hide def login_check_2(func): def hide(*args, **kwargs): tag = 1 while tag: login_name = input('输入登录账号:').strip() login_pwd = input('输入登录密码:').strip() with open(r'02 账号库.txt', mode='rt', encoding='utf-8')as file: for check_info in file: check_list = check_info.strip().split(':') if login_name == check_list[0] and login_pwd == check_list[1]: print('===登录成功,后续程序将继续执行===') login_star_time = time.time() func(*args, **kwargs) input('模拟操作时间') login_end_time = time.time() do_time = login_end_time - login_star_time if do_time < 6: tag = 0 else: print('操作超时,重新登录') break else: print('用户名或密码错误,重新输入') return hide def add(a, b): time.sleep(3) print('原始函数的功能:{}'.format(a + b))
作业练习20200323
猜你喜欢
转载自www.cnblogs.com/caoyu080202201/p/12554091.html
今日推荐
周排行