python——定时任务task

本文介绍了一个简单的Python定时任务实现方案,通过无限循环结合time模块来定期执行指定的任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pyhton的定时任务写法:

#!/usr/bin/env python
#-- encoding:utf-8 --

import time

def task():
    print "task ..."

def timer(n):
    while True:
        print time.strftime('%Y-%m-%d %X',time.localtime())
        task()
        time.sleep(n)

if __name__ == '__main__':
    timer(5)



### Python `schedule` 库实现定时任务 #### 方法概述 在 Python 中,可以使用第三方库 `schedule` 来轻松实现定时任务的功能。该库允许开发者通过简单的 API 调用来安排各种周期性和特定时间的任务。 要开始使用 `schedule` 库,首先需要安装它。可以通过以下命令完成安装: ```bash pip install schedule ``` 一旦安装完毕,就可以按照需求定义并调度不同的任务。以下是几种常见的用法及其对应的代码示例: --- #### 每隔固定时间段执行任务 如果希望某个函数每隔一定的时间间隔被调用一次,则可以利用 `.every()` 方法指定时间单位以及具体的数值。例如,每分钟运行一次任务的代码如下所示[^1]: ```python import schedule import time def job(): print("任务正在执行...") # 设置每分钟执行一次 task 函数 schedule.every(1).minutes.do(job) while True: schedule.run_pending() time.sleep(1) ``` 对于更短的时间间隔(比如每 3 秒钟),也可以这样配置[^2]: ```python import schedule import time def job(): print("I'm working...") # 每三秒钟执行一次 job 函数 schedule.every(3).seconds.do(job) while True: schedule.run_pending() time.sleep(1) ``` --- #### 在特定时刻触发任务 除了按时间间隔重复外,还可以让某项工作仅在一个确切的时间点发生。这通常适用于日程表中的事件提醒或者批处理作业等场景。下面的例子展示了怎样设定每天上午十点半启动一项操作[^3]: ```python import schedule import time def job(): print("定时任务执行了") # 设定每日 10:30 执行 job 函数 schedule.every().day.at("10:30").do(job) while True: schedule.run_pending() time.sleep(1) ``` 需要注意的是,在实际部署过程中可能还需要考虑服务器所在时区等因素的影响以确保准确性。 --- #### 同时管理多个不同类型的计划 当然,很多时候我们并不局限于单一模式下的调度请求;相反地,往往存在多种复杂的需求组合在一起的情况——即同时存在基于频率和具体时间节点两种方式规划的工作列表。此时只需分别添加各自独立的 entry 即可: ```python import schedule import time def job(): print("定时任务执行了") # 添加多条规则 schedule.every(5).seconds.do(job) # 每隔五秒执行一次 schedule.every(1).minutes.do(job) # 每过一分钟执行一次 schedule.every().day.at("10:30").do(job) # 每天早上10点30分执行一次 while True: schedule.run_pending() time.sleep(1) ``` 上述脚本会依据所给条件依次检查是否有待办事项应当立即被执行,并保持循环监听状态直到程序终止。 --- ### 总结 综上所述,借助于轻量级但功能强大的 `schedule` 库可以帮助快速搭建起满足日常开发工作中常见需求的基础框架结构。无论是简单的延时响应还是复杂的跨时段协调控制都能得到妥善解决。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值