工具装饰器
异常捕获
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