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中的__new__特殊方法
Jun 02 Python
Python读取指定目录下指定后缀文件并保存为docx
Apr 23 Python
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
Aug 21 Python
python 除法保留两位小数点的方法
Jul 16 Python
python for循环输入一个矩阵的实例
Nov 14 Python
python实现KNN分类算法
Oct 16 Python
利用python实现AR教程
Nov 20 Python
Python tempfile模块生成临时文件和临时目录
Sep 30 Python
Python实现http接口自动化测试的示例代码
Oct 09 Python
python实现录制全屏和选择区域录屏功能
Feb 05 Python
Python 图片处理库exifread详解
Feb 25 Python
用python开发一款操作MySQL的小工具
May 12 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学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
PHP通过文件路径获取文件名的实例代码
2018/10/14 PHP
js保存当前路径(cookies记录)
2010/12/14 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
js处理json以及字符串的比较等常用操作
2013/09/08 Javascript
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
微信小程序之发送短信倒计时功能
2017/08/30 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
JavaScript的一些小技巧分享
2021/01/06 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
python发送arp欺骗攻击代码分析
2014/01/16 Python
python数组复制拷贝的实现方法
2015/06/09 Python
Python自动扫雷实现方法
2015/07/25 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
2016/05/17 Python
Python 实现文件的全备份和差异备份详解
2016/12/27 Python
Python时间获取及转换知识汇总
2017/01/11 Python
将字典转换为DataFrame并进行频次统计的方法
2018/04/08 Python
简单了解Python生成器是什么
2019/07/02 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
在tensorflow以及keras安装目录查询操作(windows下)
2020/06/19 Python
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
应聘收银员个人的求职信
2013/11/30 职场文书
优秀党员主要事迹
2014/01/19 职场文书
家长通知书教师评语
2014/04/17 职场文书
企业安全生产责任书范本
2014/07/28 职场文书
公司放假通知范文
2015/04/14 职场文书
2015年维修工作总结
2015/04/25 职场文书
《叶问2》观后感
2015/06/15 职场文书
我爱我班主题班会
2015/08/13 职场文书
Python爬取某拍短视频
2021/06/11 Python