zoukankan      html  css  js  c++  java
  • 3.23作业

    3.23作业

     
    # 一:编写函数,(函数执行的时间用time.sleep(n)模拟)
    # import time
    # def index(x,y) :
    # time.sleep(3)
    # print('index %s %s' %(x,y))

    # 二:编写装饰器,为函数加上统计时间的功能
    # def timmer(func):
    # def wrapper(*args, **kwargs):
    # start = time.time()
    # res = func(*args, **kwargs)
    # stop = time.time()
    # print(stop - start)
    # return res
    # return wrapper


    # 三:编写装饰器,为函数加上认证的功能
    # def auth(func):
    # def wrapper(*args,**kwargs):
    # name=input('your name>>: ').strip()
    # pwd=input('your password>>: ').strip()
    # if name == 'egon' and pwd == '123':
    # res=func(*args,**kwargs)
    # return res
    # else:
    # print('账号密码错误')
    # return wrapper
    #
    # import time
    # @auth
    # def index(x,y) :
    # time.sleep(3)
    # print('index %s %s' %(x,y))
    #
    # index(1,2)
    # #
    # 四:编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件),要求登录成功一次,后续的函数都无需再输入用户名和密码
    # 注意:从文件中读出字符串形式的字典,可以用eval('{"name":"egon","password":"123"}')转成字典格式

    # login_user={"name":None}
    # dic={}
    # def auth(func):
    # def wrapper(*args,**kwargs):
    # with open('db.txt','r',encoding='utf-8')as f:
    # for line in f:
    # dic=eval(line.strip())
    # if login_user.get("name") :
    # res = func(*args, **kwargs)
    # return res
    # else:
    # inp_name=input('请输入用户名:')
    # inp_pwd=input('请输入密码:')
    # if inp_name ==dic['name'] and inp_pwd== dic['password']:
    # login_user['name']=inp_name
    # res=func(*args,**kwargs)
    # return res
    # return wrapper
    #
    #
    # import time
    # @auth
    # def index(x,y) :
    # time.sleep(3)
    # print('index %s %s' %(x,y))
    #
    # index(1,2)



    # 五:编写装饰器,为多个函数加上认证功能,要求登录成功一次,在超时时间内无需重复登录,超过了超时时间,则必须重新登录
    import time
    login_user={"name":None}
    start=time.time()
    dic={}
    def auth(func):
    def wrapper(*args,**kwargs):
    with open('db.txt','r',encoding='utf-8')as f:
    for line in f:
    dic=eval(line.strip())
    if login_user.get("name") :
    res = func(*args, **kwargs)
    return res
    else:
    inp_name=input('请输入用户名:')
    inp_pwd=input('请输入密码:')
    if inp_name ==dic['name'] and inp_pwd== dic['password']:
    login_user['name']=inp_name
    res=func(*args,**kwargs)
    stop=time.time()
    lock_time=stop-start
    if lock_time >30:
    inp_name = input('请输入用户名:')
    inp_pwd = input('请输入密码:')
    if inp_name == dic['name'] and inp_pwd == dic['password']:
    res = func(*args, **kwargs)
    return res
    else:
    return res
    return wrapper


    import time
    @auth
    def index(x,y) :
    time.sleep(3)
    print('index %s %s' %(x,y))

    index(1,2)
  • 相关阅读:
    pandas(六):pandas对excel进行读写
    当方法类bean无法注入时
    js 替换css属性
    select既可以输入也可以下拉框选择
    Java 容器详解
    前端页面获取URL拼接的参数值
    web前端工程师需要掌握的技能
    小程序云开发图片上传存储
    小程序云开发删除‘存储’的图片或文件
    小程序云开发对数据库增删改查相关操作
  • 原文地址:https://www.cnblogs.com/haliluyafeng/p/12556391.html
Copyright © 2011-2022 走看看