gpt4 book ai didi

python - 我在 Windows Scheduler 中安排了一个 Python 脚本,但该脚本无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-03 20:52:04 26 4
gpt4 key购买 nike

我有一个简单的 Python 脚本,当我在 Jupyter Notebook 中启动它或将其转换为 .exe 后,它可以正确运行,但当我通过 Windows Scheduler 启动它时,该脚本无法正常运行(我尝试同时启动 .py 文件)和.exe)。我错过了什么?

背景:

我有一个简单的 3.7 Python 脚本,我想定期运行它。我正在使用一个简单的 Python 脚本测试该方法,然后再转向更复杂的脚本。

我的脚本在 Jupyter 中启动时运行良好,但在使用 Windows Scheduler 时不起作用。我所做的是,在 Windows 调度程序中创建了一个基本任务,并设置了以下属性:

  • 常规:仅在用户登录时运行;
  • 触发:每天;
  • 操作:我尝试了几种输入组合。我尝试的最新组合是在“程序/脚本”C:\Pythondata\dist\test.exe 中,并且没有可选参数;
  • 条件和设置:我保留了默认选项。

当我在 Windows Scheduler 中单击“运行”任务时,会出现一个类似命令的黑色背景窗口几秒钟,然后消失,但什么也没有发生,并且输出 txt 文件也不会被编辑。我没有收到错误消息,当我检查任务的“历史记录”时,它显示“任务已完成”或“任务注册已更新”。基本上,似乎没有错误,但什么也没有发生。

我想使用 Windows Scheduler 解决该问题,但我也愿意接受有关定期运行脚本的方法的建议。然而,我是一个非常基础的Python用户,可能无法做更复杂的事情。我的系统是 Windows 10 Home,Python 3.7。

我正在使用的简单代码:

import datetime
now = datetime.datetime.now()

file = open("testfile.txt","w")

file.write("Hello Word" + str(now))
print("done")

注意:该脚本将日期戳写入 .ipynb 文件同一文件夹中的文本文件中。我还使用 pyinstaller 将文件转换为 .exe。在这两种情况下,脚本都运行良好。但是,它不适用于 Windows 调度程序。

最佳答案

根据我的经验,Windows 任务计划程序不能很好地与 Python 配合使用。尝试使用以下内容创建 .bat 文件:

cmd full\path\to\python.exe "full\path\to\script.py" > output.log 2>&1

这是一个批处理文件,它将打开 cmd.exe,并在 python 可执行文件上执行脚本。然后它会将 STDOUT 和 STDERR 重定向到文件,以便您可以看到出了什么问题。

告诉任务计划程序运行此批处理文件(不带其他参数)而不是 Python 脚本,并查看日志中显示的内容。要么它可以通过批处理文件正常运行,要么您将获得更多信息来排除故障。

关于python - 我在 Windows Scheduler 中安排了一个 Python 脚本,但该脚本无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56246528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com