问题记录
在Python中编写一个定时器类,用该类可以来测量某一段代码的执行耗时:
with Timer(prefix=‘执行完成’) as ts1:
taskfunction():
代码如下
import time
class Times:
# 在函数开始运行时传入相关值和重置时间
def __init__(self,prefix):
self.prefix = prefix
self.start_time = None
# 当with语句运行时执行 __enter__ 记录当前时间
def __enter__(self):
self.start_time = time.time()
# 返回self实例对象便于使用
return self
# 在with结束时获取运行时间
def __exit__(self, exc_type, exc_val, exc_tb):
end_time = time.time()
data_time = end_time-self.start_time
print(f'{self.prefix}{data_time}')
# 运行实例如下
def taskfunctionA():
time.sleep(3)
with Times(prefix='任务 A 完成') as ts1:
taskfunctionA()