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远程登录代码
Apr 29 Python
基于Python的身份证号码自动生成程序
Aug 15 Python
Python去除列表中重复元素的方法
Mar 20 Python
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
May 21 Python
python基于物品协同过滤算法实现代码
May 31 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
Jul 19 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 26 Python
python实现多进程代码示例
Oct 31 Python
python下PyGame的下载与安装过程及遇到问题
Aug 04 Python
Python values()与itervalues()的用法详解
Nov 27 Python
Python中and和or如何使用
May 28 Python
如何在C++中调用Python
May 21 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
数字转英文
2006/12/06 PHP
PHP 七大优势分析
2009/06/23 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
JS实现self的resend
2010/07/22 Javascript
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
JS实现一键回顶功能示例代码
2013/10/28 Javascript
extJS中常用的4种Ajax异步提交方式
2014/03/07 Javascript
jQuery焦点图切换特效代码分享
2015/09/15 Javascript
浅谈JavaScript的push(),pop(),concat()方法
2016/06/03 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
AngularJS过滤器详解及示例代码
2016/08/16 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
基于vue-ssr服务端渲染入门详解
2018/01/08 Javascript
详解如何用babel转换es6的class语法
2018/04/03 Javascript
微信小程序实现跑马灯效果完整代码(附效果图)
2018/05/30 Javascript
JS实现网页时钟特效
2020/03/25 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
浅析PHP与Python进行数据交互
2018/05/15 Python
python 使用re.search()筛选后 选取部分结果的方法
2018/11/28 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
python实现滑雪者小游戏
2020/02/22 Python
M1芯片安装python3.9.1的实现
2021/02/02 Python
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
外贸采购员求职的自我评价
2013/11/26 职场文书
政府信息公开实施方案
2014/05/09 职场文书
班组建设经验交流材料
2014/05/12 职场文书
2014年九一八事变演讲稿
2014/09/14 职场文书
国家机关领导干部民主生活会对照检查材料思想汇报
2014/09/17 职场文书
群众路线党员自我评议范文2014
2014/09/24 职场文书
经理聘任证明
2015/03/02 职场文书
Pytest实现setup和teardown的详细使用详解
2021/04/17 Python