当前位置:首页 > python > 正文内容

python 装饰器 之打印函数执行时间

root5年前 (2021-12-31)python1789

在实际开发中 遇见很多需要排查函数执行时间定位性能瓶颈点

用装饰器获取函数执行的时间还是比较方便的

import inspect
import time

def timethis(func):
    def wrapper(*args, **kwargs):
        start = time.time()
        func(*args, **kwargs)
        end = time.time()
        print(inspect.getfile(func), func.__name__, end - start)
    return wrapper


装饰器的执行情况

@timethis
def test1(a):
    print("test1开始")
    print(a)
    time.sleep(1)
    print("test1结束")

def test2(a):
    print("test2开始")
    print(a)
    time.sleep(1)
    print("test3结束")


if __name__ == '__main__':
    # 有装饰器的情况下执行
    test1(10)
    
    # 下面执行情况等效于装饰器的执行
    timethis(test2)(10)


扫描二维码推送至手机访问。

版权声明:本文由一叶知秋发布,如需转载请注明出处。

本文链接:https://zhiqiu.top/?id=195

分享给朋友:

相关文章

python 连接rabbitmq出现的诡异进程盗取消息

python 连接rabbitmq出现的诡异进程盗取消息

本文在py2下执行,由来:    因业务需要,python创建子线程后再次创建子进程(用于执行shell命令)。没错就是在子线程里面创建子进程。都知道py2的坑还是蛮多的。问题出现:在某次运行中出现了...

python简单的加密解密

rsa 是非对称加密公钥加密,私钥解密pip install rsaimport rsa from binascii import b2a_hex, a2b_hex class&nb...

pip 升级到指定版本,但是py2的pip版本务必在20版本以内包含20版本

python3 -m pip install --user --upgrade pip==9.0.3(换成你想要的版本编号)如果python2的只能升级到20+版本。超过会出现不支持的情况...

python csvw格式文件转parquet格式文件

用到的包: pandas    pyarrow    pandas pd df pd.(,,) df.()要求csv文件 要有头行一定要安装pyarro...

flask 服务添加ssl 证书

flask 服务添加ssl 证书

1、利用openssl生成自用的ssl证书利用openssl 生成证书openssl genrsa -des3 -out server.key 2048不要密码:再执行 一下:openssl rsa -in server.key -out...

python 之optparse模块OptionParser

该模块让python脚本命令能够符合标准的Unix命令例程式每个命令行参数就是由参数名字符串和参数属性组成的。如 -f 或者 file 分别是长短参数名当你将所有的命令行参数都定义好了的时候,我们需要调用parse_args()方法赖际熙a...