Python延時操作實現(xiàn)方法示例
本文實例講述了Python延時操作實現(xiàn)方法。分享給大家供大家參考,具體如下:
在日常的開發(fā)中,往往會遇到這樣的需求,需要某一個函數(shù)在一段時間之后才執(zhí)行以達到某種特定的效果。此時,我們就需要某種機制,使一個函數(shù)延后執(zhí)行。接下來簡單介紹一下兩種實現(xiàn)此類效果的方法:
sched
import sched,time def func(a): print time.time(),"Hello Sched!",a print time.time() s = sched.scheduler(time.time,time.sleep) # 2為延后時間,1為優(yōu)先級,func為函數(shù)名,("test1",)為函數(shù)參數(shù) s.enter(2,1,func,("test1",)) s.enter(2,0,func,("test2",)) s.run() print time.time()
輸出結(jié)果如下:
1519443179.4
1519443181.4 Hello Sched! test2
1519443181.4 Hello Sched! test1
1519443181.4
從結(jié)果可以看出,函數(shù)果真延后了2s執(zhí)行,并且test2比test1先執(zhí)行,是因為同樣是2s后執(zhí)行,并且test2的優(yōu)先級比test1高
timer
import threading,time def func(a): print time.time(),"Hello Timer!",a print time.time() s = threading.Timer(2,func,("test",)) s.start() print time.time()
輸出結(jié)果如下:
1519443055.69
1519443055.69
1519443057.69 Hello Timer! test
從結(jié)果可以看出,函數(shù)果真延后了2s執(zhí)行。
從兩種方式的輸出結(jié)果可以看出,timer是異步執(zhí)行的,并不卡住下面代碼的執(zhí)行,而sched會等到執(zhí)行函數(shù)完成后才會往下執(zhí)行。
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python日期與時間操作技巧總結(jié)》、《Python數(shù)學運算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
python使用pynput捕獲單個按鍵的步驟詳解(包括組合鍵和功能鍵)
在數(shù)字時代,鍵盤是與計算機交流的主要工具,鍵盤的每一次敲擊都承載著信息,而在某些場景下,可能需要記錄這些信息,這時候,pynput庫就派上了大用場,它可以輕松地幫捕獲并記錄鍵盤上的每一個操作,所以本文給大家介紹了python使用pynput捕獲鍵的操作步驟2024-05-05python高階函數(shù)functools模塊的具體使用
本文主要介紹了python高階函數(shù)functools模塊的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03django數(shù)據(jù)庫migrate失敗的解決方法解析
這篇文章主要介紹了django數(shù)據(jù)庫migrate失敗的解決方法解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-02-02Python自動化辦公之Excel數(shù)據(jù)的寫入
這篇文章主要為大家詳細介紹一下Python中excel的寫入模塊- xlsxwriter,并利用該模塊實現(xiàn)Excel數(shù)據(jù)的寫入,感興趣的小伙伴可以了解一下2022-05-05計算機二級python學習教程(1) 教大家如何學習python
這篇文章主要為大家詳細介紹了計算機二級python學習教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-05-05