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实现计算文件夹下.h和.cpp文件的总行数
Apr 23 Python
Python中datetime常用时间处理方法
Jun 15 Python
在Django的模型中添加自定义方法的示例
Jul 21 Python
对Python使用mfcc的两种方式详解
Jan 09 Python
python实现对输入的密文加密
Mar 20 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
Jul 12 Python
Python 根据日志级别打印不同颜色的日志的方法示例
Aug 08 Python
Django后端发送小程序微信模板消息示例(服务通知)
Dec 17 Python
python 输出列表元素实例(以空格/逗号为分隔符)
Dec 25 Python
Python实现序列化及csv文件读取
Jan 19 Python
tensorflow 报错unitialized value的解决方法
Feb 06 Python
Python词云的正确实现方法实例
May 08 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 编写的 25个游戏脚本
2009/05/11 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
2019/06/06 PHP
PHP7数组的底层实现示例
2019/08/25 PHP
javascript parseInt 函数分析(转)
2009/03/21 Javascript
jQuery 学习第七课 扩展jQuery的功能 插件开发
2010/05/17 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
js获取ajax返回值代码
2014/04/30 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
2014/04/30 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
JavaScript字符串删除重复字符的方法
2015/12/25 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
2020/04/15 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
浅谈使用Python内置函数getattr实现分发模式
2018/01/22 Python
Django model序列化为json的方法示例
2018/10/16 Python
Python基础学习之类与实例基本用法与注意事项详解
2019/06/17 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
Python包,__init__.py功能与用法分析
2020/01/07 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
Python实现手势识别
2020/10/21 Python
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
.NET remoting中对象激活的两种方式
2015/06/08 面试题
儿科护理实习自我鉴定
2013/09/19 职场文书
研发工程师的岗位职责
2013/11/18 职场文书
体育教学随笔感言
2014/02/24 职场文书
中学教师师德师风演讲稿
2014/08/22 职场文书
2015年体育部工作总结
2015/04/02 职场文书
婚礼父母致辞
2015/07/28 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书