html使用定时器timer,threading中定时器Timer方法

threading中定时器Timer

定时器功能:在设置的多少时间后执行任务,不影响当前任务的执行

常用方法

from threading import Timer

t = Timer(interval, function, args=None, kwargs=None)

# interval 设置的时间(s)

# function 要执行的任务

# args,kwargs 传入的参数

t.start() # 开启定时器

t.cancel() # 取消定时器

简单示例

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()) # 开启定时器后不影响主线程执行,所以先打印

-------------------------------------------------------------------------------

end time: Wed Aug 7 21:14:51 2019

nick starts time: Wed Aug 7 21:14:54 2019

验证码示例:60s后验证码失效

import random

from threading import Timer

# 定义Code类

class Code:

# 初始化时调用缓存

def __init__(self):

self.make_cache()

def make_cache(self, interval=60):

# 先生成一个验证码

self.cache = self.make_code()

print(self.cache)

# 开启定时器,60s后重新生成验证码

self.t = Timer(interval, self.make_cache)

self.t.start()

# 随机生成4位数验证码

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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值