Python3.6 Schedule模块定时任务(实例讲解)
一,编程环境 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模块定时任务(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |