Python 脚本永远不会在任务计划程序中结束

标签 python windows scheduled-tasks

我正在尝试设置一个自动执行的 python 代码。

我从一小段要执行的代码开始:

import datetime
with open("out.txt","a") as f:
    f.write(datetime.datetime.now().isoformat())

任务将正常启动并执行(文件已修改),但它永远不会在任务调度程序中结束。

thisthis 存在于 SO 中,但没有真正的答案。这些线程中提出的唯一解决方法是在 Windows 中的给定时间后强制结束任务,但这需要知道 python 脚本将花费多长时间,而我的实际任务并非如此。

任务调度程序如何知道 python 脚本已完成?

我在任务调度程序中按以下方式运行它:

  • 程序:cmd

  • 参数:/c C:\python27\python.exe C:\path\of\script.py

  • 执行在:C:\path\of\

我尝试了一些变体,比如执行 python 而不是 cmd,但它没有改变任何东西。我曾希望/c 会强制关闭任务。

最佳答案

正如 Gaurav Pundir 提到的,添加 sys.exit(0) 应该正确结束脚本,从而结束任务。但是,您需要使用 import sys 添加 sys 库才能使用 sys.exit(0)。希望这对您有所帮助!

关于Python 脚本永远不会在任务计划程序中结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35554531/

相关文章:

python - 如何更新 Tkinter 窗口的屏幕( Canvas )

python - 如何使算法更快?

python - 从之前的 ndarray.tobytes() 转换回 ndarray?

c# - 如何在 c#.net windows 应用程序中检查 gridview 的行是否被选中

sitecore - 使用 Sitecore 发布代理并在特定时间发布项目

excel - 打开 excel 文件工作正常,但如果我通过 Windows 任务计划程序安排脚本,它不工作

python - Pool 只执行一个线程而不是 4 个,如何使其无限?

c++ - 提取脏矩形 RGB 像素缓冲区数据 DirectX

python - 在 Windows 上使用 Python 虚拟环境时有哪些陷阱和解决方法?

java - JBoss 5 调度后台任务。一个接一个地执行,打破了计划