Ⅰ python測量程序運行時間,time.time與time.clock
現象描述:
1、time.clock 在win系統和linux系統下對相同程序的計時結果不一致
2、到底應該用什麼時間計時?為什麼用time.time與time.clock計時會有那麼大的差異
在計算機領域有多種時間。
第一種稱作CPU時間或執行時間,用於測量在執行一個程序時CPU所花費的時間。第二種稱作掛鍾時間,測量執行一個程序時的總時間。掛鍾時間也被稱作流逝時間或運行時間。與CPU時間相比,掛鍾時間通常長些,因為CPU執行測量的程序可能同時還在執行其它程序的指令。
另一個重要概念是所謂的系統時間,由系統時鍾測量。系統時間表示計算機系統時間傳遞的概念。要記住系統時鍾是可以由操作系統修改的,就是修改系統時間。
在Unix系統上,time.time的作用與Windows相同,但time.clock的意義不同。
在Unix系統上,time.clock以秒為單位返回當前處理器時間,例如,執行當前線程所花費的CPU時間。而在Windows上,它是以秒為單位的返回自首次調用該函數以來所流逝的系統時間。
以我遇到的Ubuntu系統上運行time.time和time.clock的例子:
time.time()顯示系統時間過去大概1秒,而time.clock()顯示花費在當前進程上的CPU時間只有於1毫秒。
而win下time.time()和time.clock()顯示系統時間都是大致過去了1秒
在測量程序准確性能時應該使用哪一個呢?
這要視情況而定。如果程序運行的系統能夠提供足夠的資源給程序,例如,一個運行基於Python的web應用程序的web伺服器,則使用time.clock()來測量程序會更有意義,因這個web應用程序可能是伺服器上的主要程序 。如果程序運行的系統上還同時運行著其它大量程序,則使用time.time()進行測量會更有意義。 如果不是這樣,就應該使用基於掛鍾的計時器來測量程序的性能,因為這樣通常能反應程序的環境。
放結論,一般情況下:
1、win用time.clock或time.time
2、linux 下用time.time 或 datetime.datetime.now().timestamp()
【1】(重要)https://blog.csdn.net/ao985438294363006/article/details/101349790 Python測量時間,用time.time還是time.clock
Ⅱ python 精確到毫秒延時函數,一般的time.sleep延時不精確,希望提供一個非常精確的解決辦法 謝謝
Python中的sleep函數可以傳小數進去,然後就可以進行毫秒級的延時了。
代碼如下:
import time
i = 1
while i = 3:
print(i) # 輸出i
i += 1
time.sleep(1) # 休眠1秒
例1:循環輸出休眠100毫秒
import time
i = 1
while i = 3:
print(i) # 輸出i
i += 1
time.sleep(0.1) # 休眠0.1秒
(2)python系統運行毫秒擴展閱讀
python中 time.sleep()用法:
sleep() 方法暫停給定秒數後執行程序。該參數可以是一個浮點數來表示一個更精確的睡眠時間。
實際中止時間可能不到所請求的,因為任何捕獲信號將終止 sleep()接下來執行該信號捕捉的程序。
以下是sleep()方法的語法:
time.sleep(t)
參數 t – 這是要暫停執行的秒數。 返回值:此方法不返回任何值。
Ⅲ python 格式化日期到毫秒
可以參考下面的代碼:
一、代碼一:
importdatetime
print(datetime.datetime.now().microsecond*1e-3)
二、代碼二:
importdatetime
now=datetime.datetime.now()
printnow.strftime("%Y%m%d%H%M%S")
(3)python系統運行毫秒擴展閱讀:
python函數
hasattr(obj,name)查看一個obj的namespace中是否有name
getattr(obj,name)得到一個obj的namespace中的一個name
setattr(obj,name,value)為一個obj的namespace中的一個name指向vale這個object
delattr(obj,name)從obj的namespace中刪除一個name
Ⅳ python 如何獲取毫秒級系統時間
用datetime模塊
datetime.datetime.now().microsecond 獲取當前時間的毫秒數
代碼:
import datetime
print datetime.datetime.now()
Ⅳ python如何在顯示毫秒秒錶的時候同時定時循環截圖,還請高手在如下代碼基礎上回答
>> #加了上面這段while運行時窗體不顯示只是後台在截圖,這是為什麼,要怎麼處理?
wx這種GUI框架都是基於事件的。事件包括窗體繪圖,窗體刷新,滑鼠按鈕點擊等。這些事件是在 app.MainLoop() 裡面進行捕獲和處理的。你的程序沒有執行到 MainLoop() GUI就不能正常工作。
解決辦法:
使用一個單獨的進程或線程做截圖,不要阻塞主進程。
使用Timer之類的GUI控制項,然後定義相應的handler. wx裡面有wxTimer.
補充:你的程序已經用到了wx的Timer控制項,只要多創建一個Timer用來觸發截圖動作就可以了。
Ⅵ python如何獲取數據刷新率毫秒
轉換time.time()函數返回的時間浮點數,來獲取當前毫秒時間。
先importtime模塊。getMS函數的返回值,就是一個長度為3的毫秒時間字元串,getTime函數將這個毫秒時間與小時分鍾秒合並成一個用冒號(:)分割的時間字元串。
秒,毫秒,微秒相互之間都是10^3的關系,以上代碼將時間轉換成微秒代碼,然後用1000去取余,就得到了當前時間的微秒值。這段代碼得到的是int,請按自己需要轉換成string。