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中实现结构相似的函数调用方法
Mar 10 Python
详解Python中的__new__()方法的使用
Apr 09 Python
使用C语言来扩展Python程序和Zope服务器的教程
Apr 14 Python
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
Jul 11 Python
Python实现公历(阳历)转农历(阴历)的方法示例
Aug 22 Python
python logging日志模块以及多进程日志详解
Apr 18 Python
Python延时操作实现方法示例
Aug 14 Python
python基于pdfminer库提取pdf文字代码实例
Aug 15 Python
python数据持久存储 pickle模块的基本使用方法解析
Aug 30 Python
python+adb命令实现自动刷视频脚本案例
Apr 23 Python
Python 添加文件注释和函数注释操作
Aug 09 Python
Python使用Pygame绘制时钟
Nov 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之数组学习
2011/05/29 PHP
PHP对象相互引用的内存溢出实例分析
2014/08/28 PHP
PHP模板引擎Smarty自定义变量调解器用法
2016/04/11 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
PHP哈希表实现算法原理解析
2020/12/11 PHP
javascript 无提示关闭窗口脚本
2009/08/17 Javascript
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2015/04/01 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
JavaScript鼠标拖拽事件详解
2020/04/03 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
[02:19]2014DOTA2国际邀请赛 专访820少年们一起去追梦吧
2014/07/14 DOTA
python清除字符串前后空格函数的方法
2018/10/21 Python
python的turtle库使用详解
2019/05/10 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
matplotlib基础绘图命令之imshow的使用
2020/08/13 Python
python中字符串的编码与解码详析
2020/12/03 Python
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
2016/03/15 HTML / CSS
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
大专计算机个人求职的自我评价
2013/10/21 职场文书
棉花姑娘教学反思
2014/02/15 职场文书
技术总监管理岗位职责
2014/03/09 职场文书
广告语设计及教案
2014/03/21 职场文书
导师评语大全
2014/04/26 职场文书
自强之星事迹材料
2014/05/12 职场文书
雷锋精神演讲稿
2014/05/13 职场文书
工作自我推荐信范文
2015/03/25 职场文书