2014-09-20 61 views
2

我已經在我的Python腳本中使用profile來獲得它們的執行時間,並且我已經使用Unix時間命令來獲得整個腳本的real,usersys時間,但是我找不到如何測量在Python中等待I/O所花費的時間。Python:如何衡量等待I/O所花費的時間?

在我的腳本中查詢各種數據庫,我可以測量發送和接收信息所需的時間嗎?

回答

2

你可以使用一個Decorator像這樣的可以測量的專用方法的執行時間:

import time             

def measure_time(f): 

    def timed(*args, **kw): 
    ts = time.time() 
    result = f(*args, **kw) 
    te = time.time() 

    print '%r (%r, %r) %2.2f sec' % \ 
      (f.__name__, args, kw, te-ts) 
    return result 

return timed 

您可以使用它像這樣:

@measure_time 
    def foo(): 
     #content of function 

注意f.__name__返回名稱的功能! (在這種情況下'foo')

+0

非常感謝您的幫助,我現在看到大部分時間都在進行中! :) – AnonyMouse 2014-09-21 14:10:38

+0

不客氣!;)所以+1你的問題! – Kasramvd 2014-09-21 14:11:22

相關問題