gpt4 book ai didi

python - 如何在 Windows 中防止 subprocess.popen 到 "get lost"?

转载 作者:太空宇宙 更新时间:2023-11-04 06:25:05 25 4
gpt4 key购买 nike

我有一个奇怪的 Python(3.x) 问题:
基本上我只想创建一个计时器,它在预定义的时间调用外部程序 (.exe) -(在下面进行了简化,另外还有一个倒计时输出):

time.sleep(y)
x=popen("pathto.exe")

如果我测试我的代码,一切都完全按照我想要的方式运行,但仅适用于小 y。对于大 y(等待几个小时以上),Python 不执行 popen 命令(但也没有任何错误)。 popen 命令后的任何其他“正常”代码(例如我的电子邮件通知)都可以正常工作。

我不完全确定这是 Windows(我在 64 位 Windows 7 上工作,禁用了我知道的所有节能功能)还是 Python 问题,但到目前为止找不到解决方案:
我为 popen 尝试了几个额外的参数(Shell/no Shell 等),并尝试在等待期之前打开程序/定义 X,然后再次关闭它,但不幸的是没有解决这个问题。

非常感谢!

编辑:更详细的代码示例:

while 1:
if time.mktime(trade2)<=time.time():

break

else:
dif=time.mktime(trade2)-time.time() # this is just for a visible countdown
aus=time.gmtime(dif)
sys.stdout.flush()
print("\b\b\b\b\b\b\b\b\b", end="\r")
print(aus[3],aus[4],aus[5], sep=":",end="")
time.sleep(0.5)

x=subprocess.Popen("c:/xyz/abc.exe")
print("Sending Mail...")

print() 总是按预期执行,只有在倒计时少于大约 1-2 小时时才会打开。

最佳答案

sleep 没有保证的醒来时间。 According to the docs sleep 时间可能比请求的时间更长或更短。我有 answered这个问题之前在 SO 上,有其他选择。

关于python - 如何在 Windows 中防止 subprocess.popen 到 "get lost"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8882582/

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