您好,登錄后才能下訂單哦!
小編給大家分享一下用Python寫(xiě)定時(shí)器的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
用Python怎么寫(xiě)定時(shí)器
定時(shí)器功能:在設(shè)置的多少時(shí)間后執(zhí)行任務(wù),不影響當(dāng)前任務(wù)的執(zhí)行
推薦學(xué)習(xí)《Python教程》。
用Python寫(xiě)定時(shí)器的方法如下:
1、常用方法:
from threading import Timer t = Timer(interval, function, args=None, kwargs=None) # interval 設(shè)置的時(shí)間(s) # function 要執(zhí)行的任務(wù) # args,kwargs 傳入的參數(shù) t.start() # 開(kāi)啟定時(shí)器 t.cancel() # 取消定時(shí)器
2、簡(jiǎn)單示例:
import time from threading import Timer def task(name): print('%s starts time: %s'%(name, time.ctime())) t = Timer(3,task,args=('nick',)) t.start() print('end time:',time.ctime()) # 開(kāi)啟定時(shí)器后不影響主線程執(zhí)行,所以先打印 ------------------------------------------------------------------------------- end time: Wed Aug 7 21:14:51 2019 nick starts time: Wed Aug 7 21:14:54 2019
3、驗(yàn)證碼示例:60s后驗(yàn)證碼失效
import random from threading import Timer # 定義Code類 class Code: # 初始化時(shí)調(diào)用緩存 def __init__(self): self.make_cache() def make_cache(self, interval=60): # 先生成一個(gè)驗(yàn)證碼 self.cache = self.make_code() print(self.cache) # 開(kāi)啟定時(shí)器,60s后重新生成驗(yàn)證碼 self.t = Timer(interval, self.make_cache) self.t.start() # 隨機(jī)生成4位數(shù)驗(yàn)證碼 def make_code(self, n=4): res = '' for i in range(n): s1 = str(random.randint(0, 9)) s2 = chr(random.randint(65, 90)) res += random.choice([s1, s2]) return res # 驗(yàn)證驗(yàn)證碼 def check(self): while True: code = input('請(qǐng)輸入驗(yàn)證碼(不區(qū)分大小寫(xiě)):').strip() if code.upper() == self.cache: print('驗(yàn)證碼輸入正確') # 正確輸入驗(yàn)證碼后,取消定時(shí)器任務(wù) self.t.cancel() break obj = Code() obj.check()
看完了這篇文章,相信你對(duì)用Python寫(xiě)定時(shí)器的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。