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 26 Python
Python使用PyCrypto实现AES加密功能示例
May 22 Python
Python基于回溯法子集树模板解决取物搭配问题实例
Sep 02 Python
Python+OpenCV图片局部区域像素值处理详解
Jan 23 Python
python+webdriver自动化环境搭建步骤详解
Jun 03 Python
python实现将一维列表转换为多维列表(numpy+reshape)
Nov 29 Python
python 实现让字典的value 成为列表
Dec 16 Python
15行Python代码实现免费发送手机短信推送消息功能
Feb 27 Python
如何使用scrapy中的ItemLoader提取数据
Sep 30 Python
Python如何使用ConfigParser读取配置文件
Nov 12 Python
Python打包exe时各种异常处理方案总结
May 18 Python
Python编程根据字典列表相同键的值进行合并
Oct 05 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面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
mysql数据库差异比较的PHP代码
2012/02/05 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
Laravel中的Auth模块详解
2017/08/17 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
javascript 播放器 控制
2007/01/22 Javascript
Javascript 篱式条件判断
2008/08/22 Javascript
Checbox的操作含已选、未选及判断代码
2013/11/07 Javascript
JavaScript排序算法之希尔排序的2个实例
2014/04/04 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
深入理解node exports和module.exports区别
2016/06/01 Javascript
微信小程序 封装http请求实例详解
2017/01/16 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
解决vue组件中使用v-for出现告警问题及v for指令介绍
2017/11/11 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
使用webpack搭建vue环境的教程详解
2019/12/31 Javascript
Django 连接sql server数据库的方法
2018/06/30 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
python使用Pandas库提升项目的运行速度过程详解
2019/07/12 Python
Python中os模块功能与用法详解
2020/02/26 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
python基于selenium爬取斗鱼弹幕
2021/02/20 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
爸爸的花儿落了教学反思
2014/02/20 职场文书
旅游管理专业大学生职业规划书
2014/02/27 职场文书
求职信怎么写范文
2014/05/26 职场文书
公司副总经理岗位职责
2014/10/01 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
义卖募捐活动总结
2015/05/09 职场文书
硕士论文致谢范文
2015/05/14 职场文书
关于nginx 实现jira反向代理的问题
2021/09/25 Servers
解析mybatis-plus中的resultMap简单使用
2021/11/23 Java/Android