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 内置函数complex详解
Oct 23 Python
Python OpenCV 直方图的计算与显示的方法示例
Feb 08 Python
Django中间件实现拦截器的方法
Jun 01 Python
python爬虫框架scrapy实现模拟登录操作示例
Aug 02 Python
python 处理string到hex脚本的方法
Oct 26 Python
python 将字符串完成特定的向右移动方法
Jun 11 Python
python向字符串中添加元素的实例方法
Jun 28 Python
Django上线部署之IIS的配置方法
Aug 22 Python
Django实现将views.py中的数据传递到前端html页面,并展示
Mar 16 Python
解决json中ensure_ascii=False的问题
Apr 03 Python
tensorflow实现残差网络方式(mnist数据集)
May 26 Python
Python脚本调试工具安装过程
Jan 11 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安装攻略:常见问题解答(三)
2006/10/09 PHP
global.php
2006/12/09 PHP
php安全配置 如何配置使其更安全
2011/12/16 PHP
ThinkPHP Mobile使用方法简明教程
2014/06/18 PHP
PHP临时文件的安全性分析
2014/07/04 PHP
php源码的安装方法和实例
2019/09/26 PHP
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
利用jquery制作滚动到指定位置触发动画
2016/03/26 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
vue-router源码之history类的浅析
2019/05/21 Javascript
JS中的算法与数据结构之集合(Set)实例详解
2019/08/20 Javascript
微信小程序定义和调用全局变量globalData的实现
2019/11/01 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
一个检测OpenSSL心脏出血漏洞的Python脚本分享
2014/04/10 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
使用python实现滑动验证码功能
2019/08/05 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
python sklearn常用分类算法模型的调用
2019/10/16 Python
Python timeit模块的使用实践
2020/01/13 Python
Pyspark获取并处理RDD数据代码实例
2020/03/27 Python
python 实现任务管理清单案例
2020/04/25 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
2020/05/10 Python
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
美国医疗用品、医疗设备和家庭保健用品商店:Medical Supply Depot
2018/07/08 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
房地产促销活动方案
2014/03/01 职场文书
2014年设计师工作总结
2014/11/25 职场文书
2014年流动人口工作总结
2014/11/26 职场文书