zoukankan      html  css  js  c++  java
  • 演示嵌套函数定义及使用装饰器

    def check_permission(func):
        '''演示嵌套函数定义及使用'''
        def wrapper(*args,**kwargs):
            if kwargs.get('username') != 'admin':
                raise Exception('Sorry,You are not allowed')
            return func(*args,**kwargs)
        return wrapper
    
    class ReadWriteFile(object):
        # 把函数作为装饰器使用
        @check_permission
        def read(self,username,filename):
            return open(filename,'r').read()
        def write(self,username,filename,content):
            open(filename,'a+').write(content)
        # 作为普通函数使用
        write = check_permission(write)
    
    t = ReadWriteFile()
    print(t.read(username='admin',filename=r'c:UsersPGIDYSQDesktop1111111e.gen'))
    print("*"*60)
    t.write(username='admin',filename=r'c:UsersPGIDYSQDesktop1111111e.gen',content='cvname')
    print("-"*60)

     相关资料:https://www.cnblogs.com/lyox/p/8671098.html

  • 相关阅读:
    O(n)回文子串(Manacher)算法
    LightOJ 1282
    LightOJ
    LightOJ
    POJ-2563
    POJ-2398
    POJ-2318
    ZOJ-3318
    [svc]ftp协议数据连接的2种模式
    [py]python中的特殊类class type和类的两面性图解
  • 原文地址:https://www.cnblogs.com/ysq0908/p/9059587.html
Copyright © 2011-2022 走看看