在Windows 7上定时运行Python脚本
我有一个Python脚本,想要定期运行。我的电脑是Windows 7。请问有什么好的方法可以做到这一点?最简单的方法是什么?
3 个回答
14
一个简单的方法是让一个脚本持续运行,并在里面加一个延迟循环。比如:
def doit():
print "doing useful things here"
if __name__ == "__main__":
while True:
doit()
time.sleep(3600) # 3600 seconds = 1 hour
然后让这个脚本一直运行,它就会每小时执行一次。
需要注意的是,这只是解决这个问题的一种方法;你也可以使用操作系统自带的服务,比如任务调度器,这样就不需要一直让你的脚本在运行了。
52
你可以通过控制面板里的图形界面(叫做“计划任务”)来添加一个任务,大部分内容都挺简单明了的,但有两点需要注意:
确保你在程序路径里填写
C:\python27\python.exe
,然后在参数里填写你的脚本路径。如果你选择
无论用户是否登录都运行
,我会遇到一个错误:目录名称无效 (0x87010B)
。选择仅在用户登录时运行
可以“解决”这个问题。
我花了不少时间才搞明白这些……
67
你可以在命令行里这样操作:
schtasks /Create /SC HOURLY /TN PythonTask /TR "PATH_TO_PYTHON_EXE PATH_TO_PYTHON_SCRIPT"
这样会创建一个每小时运行的任务,叫做'PythonTask'。你可以把HOURLY换成DAILY(每天)、WEEKLY(每周)等。PATH_TO_PYTHON_EXE的内容大概是这样的:C:\python25\python.exe。你可以在命令行里输入这个来查看更多示例:
schtasks /?
另外,你也可以打开任务计划程序,通过图形界面来设置这个任务。希望这对你有帮助。