python程序运行进程、使用时间、剩余时间显示功能的实现代码

yipeiwu_com6年前Python基础

有很多程序运行时间比较长,如果不将运行过程输出将很难判断程序运行的时间。下边这段程序将按照上图所示的格式输出程序运行进程、已用时间、剩余时间。

def time_change(time_init):  #定义将秒转换为时分秒格式的函数
  time_list = []
  if time_init/3600 > 1:
    time_h = int(time_init/3600)
    time_m = int((time_init-time_h*3600) / 60)
    time_s = int(time_init - time_h * 3600 - time_m * 60)
    time_list.append(str(time_h))
    time_list.append('h ')
    time_list.append(str(time_m))
    time_list.append('m ')
  elif time_init/60 > 1:
    time_m = int(time_init/60)
    time_s = int(time_init - time_m * 60)
    time_list.append(str(time_m))
    time_list.append('m ')
  else:
    time_s = int(time_init)
  time_list.append(str(time_s))
  time_list.append('s')
  time_str = ''.join(time_list)
  return time_str
if __name__=="__main__":
  process = .0
  start = time.time()
  for i in range(total_num):
     ···
     ···
     ···
    if process < (i*1.0/total_num):
      if process != 0:
        end = time.time()
        use_time = end-start
        all_time = use_time / process
        res_time = all_time - use_time
        str_ues_time = time_change(use_time)
        str_res_time = time_change(res_time)
        print("Percentage of progress:%.0f%%  Used time:%s  Rest time:%s "%(process*100,str_ues_time,str_res_time))
      process = process + 0.01

总结

以上所述是小编给大家介绍的python程序运行进程、使用时间、剩余时间显示功能的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

浅谈Python 多进程默认不能共享全局变量的问题

主进程与子进程是并发执行的,进程之间默认是不能共享全局变量的(子进程不能改变主进程中全局变量的值)。如果要共享全局变量需要用(multiprocessing.Value("d",10.0...

Python的语言类型(详解)

Python 是强类型的动态脚本语言 。 强类型:不允许不同类型相加 动态:不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候 脚本语言:一般也是解释型语言,运行代码只...

Python二次规划和线性规划使用实例

这篇文章主要介绍了Python二次规划和线性规划使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 对于二次规划(quadrati...

pytorch中的自定义反向传播,求导实例

pytorch中自定义backward()函数。在图像处理过程中,我们有时候会使用自己定义的算法处理图像,这些算法多是基于numpy或者scipy等包。 那么如何将自定义算法的梯度加入到...

举例简单讲解Python中的数据存储模块shelve的用法

shelve类似于一个key-value数据库,可以很方便的用来保存Python的内存对象,其内部使用pickle来序列化数据,简单来说,使用者可以将一个列表、字典、或者用户自定义的类实...