Python实现定时任务

发布时间 - 2026-01-10 22:55:24    点击率:

Python下实现定时任务的方式有很多种方式。下面介绍几种

循环sleep:

这是一种最简单的方式,在循环里放入要执行的任务,然后sleep一段时间再执行。缺点是,不容易控制,而且sleep是个阻塞函数。

def timer(n): 
  ''''' 
  每n秒执行一次 
  ''' 
  while True:  
    print time.strftime('%Y-%m-%d %X',time.localtime())  
    yourTask() # 此处为要执行的任务  
    time.sleep(n)  

threading的Timer:

threading模块中的Timer能够帮助实现定时任务,而且是非阻塞的。

比如3秒后打印helloworld:

def printHello(): 
  print "hello world" 
 
Timer(3, printHello).start() 

比如每3秒打印一次helloworld:

def printHello(): 
  print "Hello World" 
  t = Timer(2, printHello) 
  t.start() 
 
 
if __name__ == "__main__": 
  printHello() 

使用sched模块:

sched是一种调度(延时处理机制)。

# -*- coding:utf-8 -*- 
# use sched to timing 
import time 
import os 
import sched 
 
 
# 初始化sched模块的scheduler类 
# 第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。 
schedule = sched.scheduler(time.time, time.sleep) 
 
 
# 被周期性调度触发的函数 
def execute_command(cmd, inc): 
  ''''' 
  终端上显示当前计算机的连接情况 
  ''' 
  os.system(cmd) 
  schedule.enter(inc, 0, execute_command, (cmd, inc)) 
 
 
def main(cmd, inc=60): 
  # enter四个参数分别为:间隔事件、优先级(用于同时间到达的两个事件同时执行时定序)、被调用触发的函数, 
  # 给该触发函数的参数(tuple形式) 
  schedule.enter(0, 0, execute_command, (cmd, inc)) 
  schedule.run() 
 
 
# 每60秒查看下网络连接情况 
if __name__ == '__main__': 
  main("netstat -an", 60) 

使用定时框架APScheduler:

APScheduler是基于Quartz的一个Python定时任务框架。提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务。

这个现在还没自己尝试过,等过段时间用了再来补充。

使用windows的定时任务:

这里可以将所需要的Python程序打包成exe文件,然后在windows下设置定时执行。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# python  # 定时执行任务  # 定时任务  # python3  # Python3实现定时任务的四种方式  # python 实现定时任务的四种方式  # Python实现定时任务的八种方案详解  # python实现定时任务的八种方式总结  # Python实现定时任务的九种方案总结  # python实现定时任务的多种方式详解  # 是一个  # 是个  # 是一种  # 还没  # 第一个  # 用了  # 不容易  # 第二个  # 再来  # 几种  # 分别为  # 这是一种  # 最简单  # 所需要  # 大家多多  # 过段  # 是基于  # 有很多种 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Linux系统运维自动化项目教程_Ansible批量管理实战  Laravel如何实现API资源集合?(Resource Collection教程)  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  高性价比服务器租赁——企业级配置与24小时运维服务  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  如何快速打造个性化非模板自助建站?  如何挑选最适合建站的高性能VPS主机?  如何生成腾讯云建站专用兑换码?  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  专业商城网站制作公司有哪些,pi商城官网是哪个?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  JavaScript如何实现错误处理_try...catch如何捕获异常?  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  无锡营销型网站制作公司,无锡网选车牌流程?  如何快速生成ASP一键建站模板并优化安全性?  Swift中switch语句区间和元组模式匹配  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  微信小程序 五星评分(包括半颗星评分)实例代码  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  如何在七牛云存储上搭建网站并设置自定义域名?  长沙做网站要多少钱,长沙国安网络怎么样?  如何在万网自助建站中设置域名及备案?  如何做网站制作流程,*游戏网站怎么搭建?  如何在阿里云部署织梦网站?  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  如何在Tomcat中配置并部署网站项目?  高防服务器如何保障网站安全无虞?  如何用IIS7快速搭建并优化网站站点?  个人摄影网站制作流程,摄影爱好者都去什么网站?  简单实现Android文件上传  油猴 教程,油猴搜脚本为什么会网页无法显示?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  如何在Windows虚拟主机上快速搭建网站?  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  JS中对数组元素进行增删改移的方法总结  深圳网站制作平台,深圳市做网站好的公司有哪些?  北京网站制作公司哪家好一点,北京租房网站有哪些?  Laravel如何创建自定义Artisan命令?(代码示例)  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  bing浏览器学术搜索入口_bing学术文献检索地址  在线制作视频的网站有哪些,电脑如何制作视频短片?  Laravel PHP版本要求一览_Laravel各版本环境要求对照  Laravel如何实现全文搜索功能?(Scout和Algolia示例)