Python使用Timer实现验证码功能

 

 

from threading import Timer
import random


class Code:
    def __init__(self):
        self.make_cache()

    def make_cache(self,interval =15):#生成的验证码保存在cache里,过15s重新生成验证码,更新cache    
        self.cache = self.make_code()
        print(self.cache)
        self.t = Timer(interval,self.make_cache)
        self.t.start()

    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

    def check(self):
        while True:
            code = input('请输入验证码>>:').strip()
            if code.upper() == self.cache:
                print('验证码正确')
                self.t.cancel()
                break

obj=Code()
obj.check()

 

posted @ 2018-03-09 17:59  Claire_xu  阅读(158)  评论(0编辑  收藏  举报