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单链表实现代码实例
Nov 21 Python
Pythont特殊语法filter,map,reduce,apply使用方法
Feb 27 Python
python调用百度语音识别api
Aug 30 Python
pyqt5的QComboBox 使用模板的具体方法
Sep 06 Python
python调用并链接MATLAB脚本详解
Jul 05 Python
详解基于python的多张不同宽高图片拼接成大图
Sep 26 Python
如何使用Python脚本实现文件拷贝
Nov 20 Python
python3 tkinter实现添加图片和文本
Nov 26 Python
将labelme格式数据转化为标准的coco数据集格式方式
Feb 17 Python
python小白学习包管理器pip安装
Jun 09 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
Feb 02 Python
教你如何使用Python下载B站视频的详细教程
Apr 29 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动态生成JavaScript代码
2009/03/09 PHP
php中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
input的focus方法使用
2010/03/13 Javascript
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
jQuery基础知识小结
2014/12/22 Javascript
关于Jquery中的事件绑定总结
2016/10/26 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
详解Vue + Vuex 如何使用 vm.$nextTick
2017/11/20 Javascript
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
eslint 的三大通用规则详解
2019/05/16 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
Javascript模拟实现new原理解析
2020/03/03 Javascript
js实现星星打分效果
2020/07/05 Javascript
python为tornado添加recaptcha验证码功能
2014/02/26 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
2017/08/31 Python
python TCP Socket的粘包和分包的处理详解
2018/02/09 Python
python实现按长宽比缩放图片
2018/06/07 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
Django框架表单操作实例分析
2019/11/04 Python
python如何将图片转换素描画
2020/09/08 Python
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
Java程序员常见面试题
2015/07/16 面试题
大学毕业生求职自荐信
2014/02/20 职场文书
结婚周年感言
2014/02/24 职场文书
股东协议书
2014/04/14 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
法人委托书范本格式
2014/09/15 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
新郎结婚保证书
2015/02/26 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python
Python时间操作之pytz模块使用详解
2022/06/14 Python