Python 使用装饰器计算函数运行时间

使用装饰器来计算函数的运行时间,不改变函数的功能,详见注释。

# -*- coding: UTF-8 -*-
"""
@File:  计算函数运行时间.py
@Author:authorized_keys
@Time:  2020/11/27 8:50
"""

try:
    from PIL import Image
except ImportError:
    import Image
import pytesseract
import time


def timeit(func):
    """

    :param func: 需要传入的函数
    :return:
    """

    def _warp(*args, **kwargs):
        """

        :param args: func需要的位置参数
        :param kwargs: func需要的关键字参数
        :return: 函数的执行结果
        """
        start_time = time.time()
        result = func(*args, **kwargs)
        elastic_time = time.time() - start_time
        print("The execution time of the function '%s'  is %.6fs\n" % (
            func.__name__, elastic_time))
        return result

    return _warp


@timeit
def my_ocr(img):
    # Set tesseract executable PATH
    pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
    # Image to string
    res_str = pytesseract.image_to_string(img)
    return res_str


if __name__ == '__main__':
    # Image path
    img_path = r"C:\Users\data\OCRImage\python-pip-with-local-wheel.png"

    # Read image
    image = Image.open(img_path)

    # Simple image to string
    print(my_ocr(image))

猜你喜欢

转载自blog.csdn.net/authorized_keys/article/details/110219719