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使用MD5加密字符串示例
Aug 22 Python
python检测远程端口是否打开的方法
Mar 14 Python
windows10下安装TensorFlow Object Detection API的步骤
Jun 13 Python
通过python改变图片特定区域的颜色详解
Jul 15 Python
Django基础知识 URL路由系统详解
Jul 18 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
Sep 22 Python
Python logging模块写入中文出现乱码
May 21 Python
Keras - GPU ID 和显存占用设定步骤
Jun 22 Python
python cookie反爬处理的实现
Nov 01 Python
calendar在python3时间中常用函数举例详解
Nov 18 Python
pytorch实现线性回归以及多元回归
Apr 11 Python
python批量更改目录名/文件名的方法
Apr 18 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递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
php实现session共享的实例方法
2019/09/19 PHP
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
jQuery 性能优化手册 推荐
2010/02/23 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
用Js实现的动态增加表格示例自己写的
2013/10/21 Javascript
jquery的trigger和triggerHandler的区别示例介绍
2014/04/20 Javascript
jQuery实现弹出窗口中切换登录与注册表单
2015/06/05 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
jquery拖拽效果完整实例(附demo源码下载)
2016/01/14 Javascript
走进javascript——不起眼的基础,值和分号
2017/02/24 Javascript
使用jquery datatable和bootsrap创建表格实例代码
2017/03/17 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
2020/01/21 Javascript
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
python实现计算资源图标crc值的方法
2014/10/05 Python
python检测是文件还是目录的方法
2015/07/03 Python
python 多线程实现检测服务器在线情况
2015/11/25 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
python pip源配置,pip配置文件存放位置的方法
2019/07/12 Python
Python遍历字典方式就实例详解
2019/12/28 Python
Python接口测试get请求过程详解
2020/02/28 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
Python中zipfile压缩文件模块的基本使用教程
2020/06/14 Python
详解Python中的文件操作
2021/01/14 Python
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
应届大学生自荐信
2013/12/05 职场文书
不假外出检讨书
2014/01/27 职场文书
六年级数学教学反思
2014/02/03 职场文书
中学家长会邀请函
2014/02/03 职场文书
领导班子遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
详解MySQL的半同步
2021/04/22 MySQL