相关疑难解决方法(0)

Decorator打印函数调用详细信息 - 参数名称和有效值

我想创建一个函数,作为另一个函数的装饰器将打印该函数调用细节 - 参数名称和有效值.我目前的实施是这样的.

def describeFuncCall(func):
    '''Decorator to print function call details - parameters names and effective values'''
    def wrapper(*func_args, **func_kwargs):
        print 'func_code.co_varnames =', func.func_code.co_varnames
        print 'func_code.co_argcount =', func.func_code.co_argcount
        print 'func_args =', func_args
        print 'func_kwargs =', func_kwargs
        params = []
        for argNo in range(func.func_code.co_argcount):
            argName = func.func_code.co_varnames[argNo]
            argValue = func_args[argNo] if argNo < len(func_args) else func.func_defaults[argNo - func.func_code.co_argcount]
            params.append((argName, argValue))
        for argName, argValue in func_kwargs.items():
            params.append((argName, argValue))
        params = [ argName + ' = ' + repr(argValue) for argName, argValue in …
Run Code Online (Sandbox Code Playgroud)

python

15
推荐指数
3
解决办法
1万
查看次数

标签 统计

python ×1