溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

用Python寫(xiě)定時(shí)器的方法

發(fā)布時(shí)間:2020-07-16 14:12:20 來(lái)源:億速云 閱讀:216 作者:清晨 欄目:編程語(yǔ)言

小編給大家分享一下用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è)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI