Python3.6 Schedule 模塊定時任務 (實例講解)
Python 是一種面向對象解釋型計算機程序設計語言, 由 Guido van Rossum 于 1989 年底發明, 第一個公開發行版發行于 1991 年 Python 語法簡潔而清晰, 具有豐富和強大的類庫它常被昵稱為膠水語言, 它能夠把用其他語言制作的各種模塊 (尤其是 C/C++) 很輕松地聯結在一起
下面小編就為大家帶來一篇 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 模塊將查詢到的記錄寫入文件
整個完整代碼如下:importschedule
importcodecs
importcsv
importtime
fromsqlalchemyimportcreate_engine
defget_conn():
engine=create_engine("mysql+pymysql://root:password@localhost:3306/test?charset=utf8mb4")
conn=engine.connect()
returnconn
defquery():
sql="select * from user limit 10"
conn=get_conn()
returnconn.execute(sql)
defread_mysql_to_csv(filename):
withcodecs.open(filename=filename,mode='w')asf:
write=csv.writer(f,dialect='excel')
results=query()
forresultinresults:
write.writerow(result)
schedule.every().day.at("17:49").do(read_mysql_to_csv,"test")
whileTrue:
schedule.run_pending()
time.sleep(10)
三, 總結
schedule 模塊可以非常方便地實現: 周期性地在每天的某個時間點上執行任務其官方示例如下:importschedule
importtime
defjob():
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)
whileTrue:
schedule.run_pending()
time.sleep(1)
來源: http://www.phperz.com/article/18/0222/360925.html