python定时器的两种方式
第一种方式:
import time
def whileSleep():
while True:
now_time = time.strftime(‘%H:%M:%S’, time.localtime())
# print(now_time)
if now_time > ’15:00:00′:print(‘当日交易结束,程序自动关闭!’)
break
time.sleep(3)
# toSend = input(‘请输入指令:’)
# if toSend.upper() == ‘EXIT’:# break
第二种方式:
内置模块sched
import sched
import time
s=sched.scheduler(time.time,time.sleep) # 创建调度器
def do_task(): # 需要执行的任务 now_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) print(now_time) def run_task(sec): # 执行任务+参数 s.enter(sec,1,run_task,(sec,)) do_task()# 重叠事件说明:调用run()块执行所有的事件。每个事件都在同一线程中运行,所以如果一个事件需要更长的时间,延迟事件将会有重叠。为了不丢失事件,延迟事件将会在之前事件运行完再被执行,但一些延迟事件可能会晚于原本计划的事件。
s1.enter(5,1,run_task1,(参数1,)) # 5秒后执行预订事件
s2.enter(6,1,run_task2,(参数2,)) # 6秒后执行预订事件
s.run() # 运行sched实例
# 可以通过 cancel方法取消预订事件
s.cancel(s1) # 判断队列是否为空s.empty()