在Windows 7上定时运行Python脚本

46 投票
3 回答
78298 浏览
提问于 2025-04-15 22:05

我有一个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 /?

另外,你也可以打开任务计划程序,通过图形界面来设置这个任务。希望这对你有帮助。

撰写回答