reading Foundations for Analysis with Python Day 11
《Python数据分析基础》封面目前我们写出的Python代码,无论是jupyter notebook里还是变成.py格式的脚本,都是需要手动点按钮运行,但是在有些需要自动化定期运行脚本的情况怎么办呢?《Python数据分析基础》用一个简短的章节介绍了实现方法。思路就是利用 Windows 系统或 macOS 系统中可定期运行脚本和其他可执行文件的程序。微软称这个程序为 Task Scheduler(任务计划程序) ;在 Unix 系统和 macOS 系统中,这样的程序称为 cron(定时任务) 。本笔记只实现Windows 10系统的自动化,macOS系统可以仔细去看原书,或者网上找其他教程。
和原书一样,这篇笔记也是用第5章 应用程序写的处理MySQL报错日志的代码。由于我之前是写在jupyter notebook里的,先导出代码到文本文件里,命名为autoParseMySQLlog.py。后面基本都是通过截图说明,文字会相对较少。
原书是通过控制面板→系统和安全→管理工具去找任务计划程序,我觉得Win10还有更简便的方法去找,那就是用Cortana输入Task Scheduler去找。
找到之后我们点开任务计划程序,看到的界面如下,如果打开时需要输入电脑账户的密码就输入验证一下。
task_scheduler_show.png看到任务计划程序的界面后,点击左上角的“操作”菜单,然后点击“创建基本任务”,然后看到“创建基本任务向导”界面,如下:
创建基本任务向导界面在创建基本任务向导界面输入任务名称和任务描述(似乎都只能是英文)后,点击下一步,选择任务触发的条件,我选择的是每天执行。
任务触发条件设置设置任务每天执行后,填写每天执行的时间:
每天执行时间执行的操作选择“启动程序”
任务执行的操作选择脚本保存的路径,因为我是把传入的参数直接写到代码里的,所以添加参数部分留空。
选择程序所在路径再点击下一步就到完成界面了。
完成设置通过按计划自动地定期运行 Python 脚本和其他可执行文件,你可以消除忘记手动运行脚本的可能。此外,相对于手动运行脚本,你可以通过自动运行脚本极大地提高工作效率。当你的业务对数据处理与分析脚本越来越依赖时,手动运行脚本的方式会更加不可行。
因为我不想每天的数据都写到同一个csv文件里,所以设置了一下输出文件的名称,这样可以得到一系列文件,要做统计可以用到应用程序部分笔记里的代码。
from datetime import datetime
now=datetime.now()
k=now.strftime('_%Y_%m_%d_%H_%M') #年 月 日 小时 分
in_f='./mysql_server_error_log.txt'
out_f='error_log_out'+k+'.csv'
parseTextFile(in_f,out_f) #调用
(上面代码片段中的函数parseTextFile(in_f,out_f) 在Python数据分析基础ReadingDay7_应用程序里)
这样我们就完成了Windows系统的程序自动运行设置了,macOS 系统的cron(定时任务)请参考原书第215页~218页。
本篇笔记的GitHub同步项目于readingForDS。关于本系列笔记有任何建议欢迎留言讨论。
网友评论