首页 > 代码库 > python装饰器作业
python装饰器作业
# user_dic={‘xiaohong‘:‘123‘,‘xiaobai‘:‘123‘,‘xiaohei‘:‘123‘} # with open(‘idpd.txt‘,‘w‘,encoding=‘utf-8‘) as f: # f.write(str(user_dic)) # with open(‘idpd.txt‘,‘r‘,encoding=‘utf-8‘) as f2: # read=f2.read() # print(read) # user_dic=eval(read) #将user_dic字典写入文件,以及将文件字典导入
# idpd_path=r‘F:\Pycharmprojects\0615\idpd.txt‘ # idpd_dic={‘id‘:False,‘password‘:False} # def Login(func): # def login(*args,**kwargs): # if idpd_dic[‘id‘] and idpd_dic[‘password‘]: # res=func(*args,**kwargs) # return res # with open(idpd_path,‘r‘,encoding=‘utf-8‘) as f: # login_dic=eval(f.read())
制作缓存 # from urllib.request import urlopen # import os # cashe_path=r‘F:\Pycharmprojects\0615\makecache.txt‘ # def make_cashe(func): # def wrapper(*args,**kwargs): # if os.path.getsize(cashe_path): # print(‘\033[45m====>有缓存\033[0m‘) # with open(cashe_path, ‘rb‘, ) as f: # res=f.read() # else: # res=func(*args,**kwargs) # with open(cashe_path,‘wb‘) as f:A # f.write(res) # return res # return wrapper # @make_cashe # def get(url): # return urlopen(url).read()
#在文件开头声明一个空字典,然后在每个函数前加上装饰器,完成自动添加到字典的操作 # fun_dic={} # def Outer(key): # def outer(func): # def wrapper(*args,**kwargs): # fun_dic[key]=func # return wrapper # return outer # # @Outer(‘f1‘) # def f1(): # print(‘from f1‘) # @Outer(‘f2‘) # def f2(): # print(‘from f2‘) # @Outer(‘f3‘) # def f3(): # print(‘fromt f3‘) # f1() # f2() # f3() # print(fun_dic)
# i=input(‘id:‘) # password=input(‘password:‘) # if i in login_dic and password in login_dic: # print(‘login successfully‘) # idpd_dic[‘id‘]=True # idpd_dic[‘password‘]=True # res=func(*args,**kwargs) # return res # else: # print(‘login error‘) # return login #认证成功后,之后多次运行其他不再需要认证
#在文件开头声明一个空字典,然后在每个函数前加上装饰器,完成自动添加到字典的操作 # fun_dic={} # def Outer(key): # def outer(func): # def wrapper(*args,**kwargs): # fun_dic[key]=func # return wrapper # return outer # # @Outer(‘f1‘) # def f1(): # print(‘from f1‘) # @Outer(‘f2‘) # def f2(): # print(‘from f2‘) # @Outer(‘f3‘) # def f3(): # print(‘fromt f3‘) # f1() # f2() # f3() # print(fun_dic)
python装饰器作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。