gpt4 book ai didi

Python 自动运行程序,无需 shell 保持打开状态

转载 作者:行者123 更新时间:2023-12-01 01:51:18 25 4
gpt4 key购买 nike

我正在 Python 中使用 ApScheduler 包来安排程序每小时运行一次。但是,shell 窗口永远不会关闭,如果我手动关闭它,程序就会终止。有没有一种方法可以在代码未运行时安排 python 程序而不会看到窗口?此外,在 .pyw 中,窗口永远不会显示。所以我希望窗口在运行期间打开,然后关闭直到下一次运行。

最佳答案

如果你想在闲暇时打开或隐藏窗口,你必须使用 GUI 包,例如 TkInter 。然后按照 how to show or hide a window with TkInter 上的教程进行操作.

如果使用pythonw.exe运行脚本或将脚本另存为.pyw,终端窗口将被隐藏。

您只需使用pythonw.exe打开作业脚本即可。

命令提示符中的两行设置所有 python 文件用它打开。 Python Documentation - 3.3.4 Executing scripts

  1. Launch a command prompt.
  2. Associate the correct file group with .py scripts: assoc .py=Python.File
  3. Redirect all Python files to the new executable: ftype Python.File=C:\Path\to\pythonw.exe "%1" %*

如果您需要关闭脚本但窗口已隐藏,您可以使用 psutil 模块查找哪个可执行文件正在运行您的脚本,获取 PID,然后终止它。

import psutil

scripts = [[" ".join(p.cmdline()), p.pid] for p in psutil.process_iter()
if p.name().lower() in ["python.exe", "pythonw.exe"]]

关于Python 自动运行程序,无需 shell 保持打开状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50697174/

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