python的程序执行时间,开始和结束
怪我咯
怪我咯 2017-04-18 09:21:23
[Python讨论组]
#-*- coding:utf-8 -*-
import datetime
import time

start = time.time()

i = 0;
a = range(1000);
while i < a.__len__():
 print i;
 i = i+1;
 

end = time.time()

print "完成时间: %f s" % (end - start)#

怎么样转换为
%M%S
-分-秒

比如
完成时间:1分20秒

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(6)
迷茫

使用 datetime.timedelta

簡單小範例:
 

>>> import datetime

>>> datetime.timedelta(seconds=9999)
datetime.timedelta(0, 9999)

>>> print(datetime.timedelta(seconds=9999))
2:46:39

你的 case 就很簡單的照用:

In [1]: import datetime
In [2]: import time

In [3]: stime = time.time()
In [4]: etime = time.time()
In [5]: etime - stime
Out[5]: 10.781812906265259

In [7]: delta = etime - stime

In [8]: datetime.timedelta(seconds=delta)
Out[8]: datetime.timedelta(0, 10, 781813)

In [12]: print(datetime.timedelta(seconds=delta))
0:00:10.781813

我回答過的問題: Python-QA

伊谢尔伦

这个不用转换了吧,直接除就行了:int(end - start) % 60是秒数,int(end - start) / 60是分钟数

大家讲道理

估计题主的意思是想time模块那样格式化,but,题主这个只是一个毫秒间隔,不可能用time模块来那样转换的,按照楼上@manong来解决就好了

迷茫

如果楼主想要获取一个程序的执行时间的话,可以使用IPython的%run,如下所示:

In [1]: cat count.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-


i = 0
a = range(10)
while i < a.__len__():
     print(i)
     i = i + 1

In [2]: run -t count.py
0
1
2
3
4
5
6
7
8
9

IPython CPU timings (estimated):
  User   :       0.00 s.
  System :       0.00 s.
Wall time:       0.00 s.

上面统计了count.py这个文件的运行时间。结果一共给出了三个时间,时钟时间(Wall time),用户CPU时间(User),系统CPU时间(System)。这三个时间含义如下:

  • 时钟时间又称为墙上时钟时间(wall clock time) 。它是进程运行的时间总量,其值与系统
    中同时运行的进程数有关。在我们报告时钟时间时,都是在系统中没有其他活动时进行度量的。

  • 用户CPU时间是执行用户指令所用的时间量。

  • 系统CPU时间是为该进程执行内核所经历的时间。例如,只要一个进程执行一个系统服务,例如read或write,则在内核内执行该服务所花费的时间就计入该进程的系统CPU时间。

关于这三个时间的更多内容请参看《Unix环境高级编程》1.10节。

PHPz

3611呃old慝好陶

大家讲道理

这个问题google或者百度一下一大推答案,没必要在这里问。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号