python定时器的两种方式

作者: admin 分类: Python 发布时间: 2023-02-04 11:30 浏览 46 次

第一种方式:

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

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续整理创作!

发表评论

邮箱地址不会被公开。 必填项已用*标注