Python3.6 Schedule模块定时任务(实例讲解)

所属分类: 脚本专栏 / python 阅读数: 1064
收藏 0 赞 0 分享

一,编程环境

PyCharm2016,Anaconda3 Python3.6

需要安装schedule模块,该模块网址:https://pypi.python.org/pypi/schedule

打开Anaconda Prompt,输入:conda install schedule 提示:Package Not Found Error

于是,使用 pip 安装。由于Anaconda3 中已经自带了pip,如下图:

于是 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模块定时任务(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

QML用PathView实现轮播图

这篇文章主要为大家详细介绍了QML用PathView实现轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Opencv图像处理:如何判断图片里某个颜色值占的比例

这篇文章主要介绍了Opencv图像处理:如何判断图片里某个颜色值占的比例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

python golang中grpc 使用示例代码详解

这篇文章主要介绍了python golang中grpc 使用,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

浅谈python opencv对图像颜色通道进行加减操作溢出

这篇文章主要介绍了浅谈python opencv对图像颜色通道进行加减操作溢出,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

解决python运行启动报错问题

这篇文章主要介绍了解决python运行启动报错问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Python常见反爬虫机制解决方案

这篇文章主要介绍了Python常见反爬虫机制解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题

这篇文章主要介绍了解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

pycharm设置默认的UTF-8编码模式的方法详解

这篇文章主要介绍了pycharm设置默认的UTF-8编码模式,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

浅谈Pycharm的项目文件名是红色的原因及解决方式

这篇文章主要介绍了浅谈Pycharm的项目文件名是红色的原因及解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Python网络爬虫四大选择器用法原理总结

这篇文章主要介绍了Python网络爬虫四大选择器用法原理总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多