我在Windows7上工作,可以使用任务计划程序等工具吗?如果可以使用,我需要在批处理文件中添加什么内容?
我可以使用像任务计划程序这样的工具吗?
可以。任何可以运行任意程序的工具都可以运行你的Python脚本。选择你最喜欢的那个。
如果我可以使用它,我需要在批处理文件中放什么?
什么批处理文件?任务计划程序接受任何可以运行的东西,带有参数-一个C程序,一个.NET程序,甚至是一个默认关联应用程序的文档。因此,你不需要批处理文件。将C:\Python33\python.exe
(或适当路径)用作可执行文件,将你的脚本路径(及其参数,如果有)用作参数。就像你从命令行运行脚本一样。
请参阅MSDN中的使用任务计划程序了解一些简单的示例,以及任务计划程序模式元素或任务计划程序脚本对象以供参考(取决于你想要通过XML创建计划还是通过脚本接口)。
你需要创建一个ExecAction
,将Path
设置为"C:\Python33\python.exe"
,将Arguments
设置为"C:\MyStuff\myscript.py"
,并创建一个RepetitionPattern
,将Interval
设置为"PT1H"
。从那里开始,你应该能够解决其余的问题。
正如评论中的sr2222所指出的那样,通常你最终会频繁地安排任务,并需要以编程方式控制它们的调度。如果需要,你可以从Python控制任务计划程序的脚本接口,或构建一些基于任务计划程序的东西,或使用一个更容易从Python获取并具有更多在线帮助示例的不同工具等-但当你到达这个点时,请退后一步,看看是否过度使用操作系统任务调度。(如果你开始添加延迟或调整时间,以确保每天的foo1.py
作业直到最近一个小时的foo0.py
完成其作业之后5分钟才运行,那么你就过度使用了操作系统任务调度-但这并不总是那么明显。)
我可以建议使用WinAutomation或AutoMate。这两个工具实现的功能是一样的,只是界面略有不同。我更喜欢WinAutomation,因为它的脚本编写起来更容易。
是的,您可以使用任务计划程序按小时运行脚本。
要通过批处理文件执行Python脚本,请使用以下代码:
start path_to_python_exe path_to_python_file
例子:
start C:\Users\harshgoyal\AppData\Local\Continuum\Anaconda3\python.exe %UserProfile%\Documents\test_script.py
start python %UserProfile%\Documents\test_script.py
class threading.Timer(interval, function, args=None, kwargs=None)