python中如何对程序运行时长进行计时?

发布时间 2023-04-16 19:22:49作者: 乐之之

  在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('用时')

  若对计时的功能要求不高,可以使用该方法计时,若功能要求较多,则自己定义计时即可。