我知道任何 python 程序的執行時間都取決於操作系統並且不能由用戶控制。但是我想要的是程序在執行時間低於必要時進入睡眠狀態。
假設我有一個 python 程序,它最後有一個 print 語句。
def foo():
...
...
return(ans)
print(foo())
使用 timeit 我評估了 foo 的執行時間範圍。讓它從 0.8 秒到 5.5 秒。為了安全起見,我選擇完整腳本的執行時間為 10 秒。
如果 foo 的執行在 0.8 秒內完成,我希望程序在 print 語句之前添加 9.2 秒的延遲。同樣,如果執行在 5.5 秒內完成,則延遲 4.5 秒。
您可以測量foo()
使用兩次調用的執行時間time.time()
。然後,您可以使用計算的執行時間來計算停止程序執行的時間量foo()
:
import time
def foo():
...
start_time = time.time()
foo()
end_time = time.time()
if end_time - start_time < 10:
time.sleep(10 - (end_time - start_time))
請注意,我們使用time.sleep()
而不是while
循環來重複檢查是否已經過了足夠的時間,因為忙等待會浪費資源。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句