python中如何对程序运行时长进行计时?
在python中对程序运行的是时长进行计时这里主要介绍两种方式:自定义和TimePinner。
1、自定义计时
自定义计时,我们这里只需要简单记录开始时间和结束时间,计算出时差进行打印。
首先导入datetime库
- import datetime
记录开始时间和结束时间
# 开始时间
start_time = datetime.datetime.now()
# 程序运行中....
time.sleep(3)
# 结束时间
stop_time = datetime.datetime.now()
计算时差,打印结果
print("结束时间" + str(stop_time))
time_difference = stop_time - start_time
print("程序用时为:" + str(time_difference))
这样就完成了自定义计时获取了程序运行的时长。
(1)获取分钟数和秒数
如果想计算分钟数或秒数,这里我们只需要获取总秒数并转换成整数,分别取整和去模即可。
# 获取总秒数并转换为整数
total_seconds = int(time_difference.total_seconds())
# 计算分钟数
minutes = total_seconds // 60
# 计算秒钟数
seconds = total_seconds % 60
print("程序用时为:" + str(minutes) + "分" + str(seconds) + "秒")
(2)指定程序结束时间及运行情况。
这里我们定义一个死循环,实时获取时间信息,等到1分钟时,就结束程序。
# 获取开始时间信息
start_time = datetime.datetime.now()
while True:
# 获取结束时间信息
stop_time = datetime.datetime.now()
time_difference = stop_time - start_time
# 获取总秒数并转换为整数
total_seconds = int(time_difference.total_seconds())
# 计算分钟数
minutes = total_seconds // 60
# 计算秒钟数
seconds = total_seconds % 60
print(total_seconds)
# 如果运行时间到1分钟就停止运行
if minutes == 1:
print("爬取结束,程序用时为:" + str(minutes) + "分" + str(seconds) + "秒")
print('线程个数:',max_work)
print('总抓取次数:', grabs)
print('读取超时次数:',timeout_number)
print('抓取成功次数:', grabs_access)
# 结束程序
os._exit(0)
2、TimePinner
该库是计时较为简单的方式具体用法如下:
from TimePinner import Pinner
pinner = Pinner()
# 标记开始记录
pinner.pin()
# 程序运行...
time.sleep(3)
pinner.pin('用时')
若对计时的功能要求不高,可以使用该方法计时,若功能要求较多,则自己定义计时即可。