自动化Python脚本

use*_*532 2 python scheduling scheduled-tasks

我正在手动运行python脚本以获取JSON格式的数据.如何自动运行此脚本以每小时自动运行?

我正在使用Windows7.我可以使用像任务调度程序这样的工具吗?如果我可以使用它,我需要在批处理文件中放入什么?

aba*_*ert 6

我可以使用Task scheduler之类的工具吗?

是.任何可以运行任意程序的工具都可以运行Python脚本.选择你最喜欢的那个.

如果我可以使用它,我需要在批处理文件中放入什么?

什么批处理文件?任务计划程序可以使用参数 - 一个C程序,一个.NET程序,甚至是一个与之关联的默认应用程序的文档来运行任何可以运行的程序.因此,您没有理由需要批处理文件.使用C:\Python33\python.exe(或任何适当的路径)作为可执行文件,并使用脚本的路径(及其参数,如果有的话)作为参数.就像从命令行运行脚本时那样.

有关一些简单示例,请参阅在MSDN中使用任务计划程序,以及参考任务计划程序模式元素任务计划程序脚本对象(取决于您是要在XML中创建计划,还是通过脚本界面).

你想创建一个ExecActionPath设置为"C:\Python33\python.exe"Arguments设置"C:\MyStuff\myscript.py",以及RepetitionPatternInterval设置为"PT1H".你应该能够从那里弄清楚剩下的.

正如sr2222在评论中指出的那样,通常你最终会经常安排任务,并且需要以编程方式控制他们的日程安排.如果你需要这个,你可以从Python控制Task Scheduler的脚本界面,或者在Task Scheduler之上构建一些东西,或者使用一个从Python更容易获得的不同工具,并在网上提供更多有用的例子等等 - 但是当你到了那一点,退后一步,看看你是否过度使用了OS任务调度.(如果您开始添加延迟或调整时间以确保日常foo1.py作业永远不会运行,直到最近每小时foo0.py完成其作业后的5分钟,您就会过度使用操作系统任务调度 - 但并不总是那么明显.)

  • @Hannele:当然,您可以将其设置为运行一个C程序,该程序运行下载cygwin并运行运行Python脚本的bash脚本的批处理文件......但为什么呢?如果要运行Python脚本,请运行Python脚本. (2认同)