Python3.6 Schedule模块定时任务(实例讲解)


Posted in Python onNovember 09, 2017

一,编程环境

PyCharm2016,Anaconda3 Python3.6

需要安装schedule模块,该模块网址:https://pypi.python.org/pypi/schedule

打开Anaconda Prompt,输入:conda install schedule 提示:Package Not Found Error

于是,使用 pip 安装。由于Anaconda3 中已经自带了pip,如下图:

Python3.6 Schedule模块定时任务(实例讲解)

于是 cmd 命令行切换到 scripts 目录,执行 pip.exe install schedule 安装成功。这样就可以在PyCharm里面 import schedule 了

二, 在每天某个指定的时间点上,从数据库中查找数据然后写入 csv 文件

①使用 sqlalchemy 模块来建立数据库连接,关于windows 下 python3.6 for mysql 驱动安装,可参考:windows10 下使用Pycharm2016 基于Anaconda3 Python3.6 安装Mysql驱动总结

②使用schedule 模块来执行周期性任务。关于该模块的用法,可参考官网示例。

③使用csv模块将查询到的记录写入文件

整个完整代码如下:

import schedule
import codecs
import csv
import time
from sqlalchemy import create_engine

def get_conn():
 engine = create_engine("mysql+pymysql://root:password@localhost:3306/test?charset=utf8mb4")
 conn = engine.connect()
 return conn

def query():
 sql = "select * from user limit 10"
 conn = get_conn()
 return conn.execute(sql)

def read_mysql_to_csv(filename):
 with codecs.open(filename=filename, mode='w') as f:
  write = csv.writer(f, dialect='excel')

  results = query()
  for result in results:
   write.writerow(result)

schedule.every().day.at("17:49").do(read_mysql_to_csv, "test")
while True:
 schedule.run_pending()
 time.sleep(10)

三,总结

schedule 模块可以非常方便地实现:周期性地在每天的某个时间点上执行任务。其官方示例如下:

import schedule
import time

def job():
 print("I'm working...")

schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)

while True:
 schedule.run_pending()
 time.sleep(1)

以上这篇Python3.6 Schedule模块定时任务(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
Windows系统下多版本pip的共存问题详解
Oct 10 Python
python requests爬取高德地图数据的实例
Nov 10 Python
浅谈Python在pycharm中的调试(debug)
Nov 29 Python
详解Python3 对象组合zip()和回退方式*zip
May 15 Python
Python使用Pandas库实现MySQL数据库的读写
Jul 06 Python
Python Django Vue 项目创建过程详解
Jul 29 Python
python使用sklearn实现决策树的方法示例
Sep 12 Python
python3 实现口罩抽签的功能
Mar 11 Python
python不同系统中打开方法
Jun 23 Python
Python Pandas list列表数据列拆分成多行的方法实现
Dec 14 Python
教你利用Selenium+python自动化来解决pip使用异常
May 20 Python
Python中scatter函数参数及用法详解
Nov 08 #Python
python实现人脸识别代码
Nov 08 #Python
python生成随机图形验证码详解
Nov 08 #Python
Python爬虫实例爬取网站搞笑段子
Nov 08 #Python
python执行使用shell命令方法分享
Nov 08 #Python
python通过socket实现多个连接并实现ssh功能详解
Nov 08 #Python
Python基础练习之用户登录实现代码分享
Nov 08 #Python
You might like
PHP 危险函数解释 分析
2009/04/22 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
JavaScript Object的extend是一个常用的功能
2009/12/02 Javascript
关于firefox的ElementTraversal 接口 使用说明
2010/11/11 Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
2011/04/27 Javascript
js判断变量是否未定义的代码
2020/03/28 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
JavaScript this关键字指向常用情况解析
2020/09/02 Javascript
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
python新手经常遇到的17个错误分析
2014/07/30 Python
python flask实现分页效果
2017/06/27 Python
Python使用plotly绘制数据图表的方法
2017/07/18 Python
python库lxml在linux和WIN系统下的安装
2018/06/24 Python
python保存文件方法小结
2018/07/27 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
Python编写单元测试代码实例
2020/09/10 Python
Bench加拿大官方网站:英国城市服装品牌
2017/11/03 全球购物
应届生污水处理求职信
2013/11/06 职场文书
好的自荐信包括什么内容
2013/11/07 职场文书
教师自荐信范文
2013/12/09 职场文书
计划生育汇报材料
2014/12/26 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
银行催款通知书
2015/04/17 职场文书
2015年度物流工作总结
2015/04/30 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers
Python基础之hashlib模块详解
2021/05/06 Python
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android
springboot应用服务启动事件的监听实现
2022/04/06 Java/Android
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL