亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python如何統(tǒng)計代碼運行的時長

系統(tǒng) 1977 0

1. 背景

有時候,需要統(tǒng)計一段代碼運行所用的時長,則可以用到下面的代碼。

2. 代碼示例

            
#!/usr/bin/env python
 
import datetime
import time
 
start_time = datetime.datetime.now()
time.sleep(5)
end_time = datetime.datetime.now()
delta = end_time - start_time
delta_gmtime = time.gmtime(delta.total_seconds())
duration_str = time.strftime("%H:%M:%S", delta_gmtime)
 
print "start time:", start_time
print "end time:", end_time
print "delta_gmtime:", delta_gmtime
print "duration:", duration_str
          

運行效果:

            
flying-bird@flyingbird:~/examples/python/time_test$ ./time_test.py 
start time: 2015-06-09 20:11:47.437286
end time: 2015-06-09 20:11:52.440018
delta_gmtime: time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=5, tm_wday=3, tm_yday=1, tm_isdst=0)
duration: 00:00:05
flying-bird@flyingbird:~/examples/python/time_test$ 
          

3. 進一步優(yōu)化

在上面的例子中,還是涉及到一些datetime細節(jié)。為此,可以進一步封裝。如下:

            
import datetime
import time
 
class TimeDuration(object):
  'Time duration.'
  
  def __init__(self):
    pass
    
  def start(self):
    self.start_time = datetime.datetime.now()
    self.end_time = None
    
  def stop(self):
    if self.start_time is None:
      print "ERROR: start() must be called before stop()."
      return
      
    self.end_time = datetime.datetime.now()
    
  def getDurationStr(self):
    'String of duration with the format "%H:%M:%S".'
    if self.start_time is None or self.end_time is None:
      print "ERROR: start() and stop() must be called first.";
      return
    
    delta = self.end_time - self.start_time
    delta_gmtime = time.gmtime(delta.total_seconds())
    return time.strftime("%H:%M:%S", delta_gmtime)
          

調(diào)用示例:

            
flying-bird@flyingbird:~/examples/python/time_test$ cat time_test2.py
#!/usr/bin/env python
 
import time
import time_utils
 
duration = time_utils.TimeDuration()
duration.start()
time.sleep(5)
duration.stop()
 
print duration.getDurationStr() 
flying-bird@flyingbird:~/examples/python/time_test$ ./time_test2.py
00:00:05
flying-bird@flyingbird:~/examples/python/time_test$
          

4. 小結(jié)

把一些不熟悉的python細節(jié)封裝起來,以后調(diào)用起來就會簡化很多。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久综合久久鬼色 | 久久精彩 | 深夜影院老司机69影院 | 91孕妇精品一区二区三区 | 国产精品蜜臀 | 久久97精品久久久久久久看片 | 欧美乱妇高清无乱码视频在线 | 成人在线a | 亚洲欧美日韩高清一区二区三区 | 在线xxxx | 免费视频亚洲 | 不一样的天空在线高清观看 | 欧美久久天天综合香蕉伊 | 日本高清中文字幕一区二区三区a | 亚洲欧美日韩不卡一区二区三区 | 国产一在线精品一区在线观看 | 91不卡在线精品国产 | 手机国产日韩高清免费看片 | 国产一区三区二区中文在线 | 免费操片 | 在线看欧美三级中文经典 | 天天夜夜骑 | 欧美成人毛片免费网站 | 玖玖精品在线观看 | 国产欧美日韩精品一区二 | 狠狠操天天操夜夜操 | 欧美一级网 | 欧美日韩精品国产一区二区 | 国产成人免费 | 在线精品国内视频秒播 | 日韩欧美成人免费中文字幕 | 99久久在线 | 精品国产影院 | 成人a视频片在线观看免费 成人a视频在线观看 | 久久国产在线视频 | 亚洲性一级理论片在线观看 | 福利网站在线播放 | 国产精选在线播放 | 老司机精品在线播放 | 国产精品100页 | 久久97精品久久久久久久看片 |