Skip to main content

工具装饰器

异常捕获

from loguru import logger
from functools import wraps

def catch(fn):
@logger.catch
@wraps(fn)
def run(*args, **key):
return fn(*args, **key)

return run

获取函数名称

from functools import wraps

def show_func_name(f):
name = f.__name__
print('函数:', name)
@wraps(f)
def new_f(*args, **key):
return f(*args, **key)

统计函数执行时间

import time
from functools import wraps

def runtime_count(f):
func_name = f.__name__

@wraps(f)
def new_f(*args, **key):
st = time.time()
res = f(*args, **key)
en = time.time()
print(f'func:{func_name} run time: ', round(en - st, 3))
return res
return new_f