计划任务 - 自动化 Python 脚本



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

正在使用 Windows7。我可以使用任务计划程序等工具吗?如果我可以使用它,我需要在批处理文件中放什么?

我可以使用任务计划程序等工具吗?

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

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

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

有关一些简单示例,请参阅在 MSDN 中使用任务计划程序,有关参考,请参阅任务计划程序架构元素或任务计划程序脚本对象(取决于您是以 XML 创建计划,还是通过脚本接口创建计划)。

您希望创建一个Path设置为 "C:Python33python.exe"Arguments设置为 "C:MyStuffmyscript.py"ExecAction,以及一个Interval设置为 "PT1H"RepetitionPattern。您应该能够从那里弄清楚其余的。

正如 sr2222 在注释中指出的那样,通常您最终会频繁地安排任务,并且需要以编程方式控制其调度。如果你需要这个,你可以从Python控制任务调度程序的脚本接口,或者在任务调度程序之上构建一些东西,或者使用一个不同的工具,从Python更容易获得,并且有更多有用的在线示例,等等 - 但是当你到达这一点时,退后一步,看看你是否过度使用操作系统任务调度。(如果您开始添加延迟或调整时间以确保每日foo1.py作业在最近的每小时foo0.py完成其作业后 5 分钟才会运行,那么您就过度使用了操作系统任务计划,但这并不总是那么明显。

我可以建议WinAutomation或AutoMate。这两者执行完全相同的操作,只是 UI 略有不同。我更喜欢 WinAutomation,因为脚本更容易构建。

是的,您可以使用任务计划程序每小时运行一次脚本。

若要通过批处理文件执行 python 脚本,请使用以下代码:

start path_to_python_exe path_to_python_file

例:

start C:UsersharshgoyalAppDataLocalContinuumAnaconda3python.exe %UserProfile%Documentstest_script.py

如果 python 设置为窗口的环境窗口,那么您可以将语法简化为:

start python %UserProfile%Documentstest_script.py

通常做的是通过任务计划程序运行一次批处理文件,在 python 脚本中,我每小时调用一次线程/计时器。

类线程。计时器(interval, function, args=None, kwargs=None)

最新更新