我有一个python脚本,我想定期运行。我正在运行Windows 7.实现这一目标的最佳方法是什么?最简单的方法?
答案 0 :(得分:58)
您可以在命令行中执行以下操作:
schtasks /Create /SC HOURLY /TN PythonTask /TR "PATH_TO_PYTHON_EXE PATH_TO_PYTHON_SCRIPT"
这将创建一个名为'PythonTask'的每小时任务。你可以每天每周更换一次,每周一次等。 PATH_TO_PYTHON_EXE将类似于:C:\ python25 \ python.exe。通过在命令行中编写以下内容来查看更多示例:
schtasks /?
否则,您可以打开任务计划程序并通过GUI执行此操作。 希望这会有所帮助。
答案 1 :(得分:52)
您可以使用控制面板中的GUI(称为“计划任务”)来添加任务,其中大部分应该是不言自明的,但有两点需要注意:
确保填写C:\python27\python.exe
作为程序路径,并将脚本的路径作为参数填写。
如果您选择Run whether user is logged on or not
,我会收到错误消息:The directory name is invalid (0x87010B)
。选择Run only when user is logged on
“解决了这个问题。
我花了很多时间才弄明白......
答案 2 :(得分:10)
执行此操作的一种简单方法是使用具有延迟循环的连续运行脚本。例如:
def doit():
print "doing useful things here"
if __name__ == "__main__":
while True:
doit()
time.sleep(3600) # 3600 seconds = 1 hour
然后让这个脚本继续运行,它每小时就会完成一次。
请注意,这只是解决问题的一种方法;使用OS提供的服务(如任务计划程序)是另一种避免让脚本一直运行的方法。