美文网首页LyndonPyProjPython学习日志python学习之路
Python数据分析基础ReadingDay11_自动运行脚本W

Python数据分析基础ReadingDay11_自动运行脚本W

作者: 放翁lcf | 来源:发表于2018-03-23 14:46 被阅读27次

    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去找。

    通过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。关于本系列笔记有任何建议欢迎留言讨论。

    相关文章

      网友评论

        本文标题:Python数据分析基础ReadingDay11_自动运行脚本W

        本文链接:https://www.haomeiwen.com/subject/jmhxcftx.html