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实现发送QQ邮件的封装
Jul 14 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
Jul 25 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
Aug 07 Python
使用python将图片格式转换为ico格式的示例
Oct 22 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
PyQt5实现暗黑风格的计时器
Jul 29 Python
python中的Elasticsearch操作汇总
Oct 30 Python
Python autoescape标签用法解析
Jan 17 Python
Pycharm 安装 idea VIM插件的图文教程详解
Feb 21 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
Apr 26 Python
用python实现监控视频人数统计
May 21 Python
Python代码风格与编程习惯重要吗?
Jun 03 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
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
linux php mysql数据库备份实现代码
2009/03/10 PHP
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
PHP实现微信提现功能
2018/09/30 PHP
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
计算世界完全对称日的js代码,粗糙版
2011/11/04 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
2013/10/16 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
JS正则表达式验证中文字符
2017/05/08 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
微信小程序音乐播放器开发
2019/11/20 Javascript
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
如何利用vue实现波谱拟合详解
2020/11/05 Javascript
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
2018/04/19 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
2018/09/17 Python
python列表list保留顺序去重的实例
2018/12/14 Python
python多进程读图提取特征存npy
2019/05/21 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
python实现横向拼接图片
2020/03/23 Python
详解Python中的路径问题
2020/09/02 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
html5 canvas的绘制文本自动换行的示例代码
2018/09/17 HTML / CSS
美国儿童运动鞋和服装零售商:Kids Foot Locker
2017/08/05 全球购物
彪马日本官网:PUMA日本
2019/01/31 全球购物
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
规范化管理年活动总结
2014/08/29 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
教师求职简历自我评价
2015/03/10 职场文书
师范生见习自我总结
2015/06/23 职场文书
Pytorch 统计模型参数量的操作 param.numel()
2021/05/13 Python
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang