【发布时间】:2021-09-25 14:48:05
【问题描述】:
如果用户未在特定时间范围内(比如 5 秒)提供输入,我将尝试终止 python 程序。
代码已从mediocrity's answer获取和编辑
import sys
import time
from threading import Thread
x = None
def check():
global x
time.sleep(5)
if x:
print("Input has been given!")
return
sys.exit()
Thread(target=check).start()
x = input("Input something: ")
但它一直在等待输入并且不会终止,除非给出输入。 如何更改代码以使其按预期执行?
【问题讨论】:
-
您是否阅读了您复制的答案下方的 cmets?他们说它不起作用。
-
我已经尝试过该解决方案,它会立即终止进程,不会有任何延迟。输出为
You have 5 seconds to type in your stuff... You typed None -
链接问题有23个答案。
-
我也想看看是否可以用线程和我提供的代码来完成。
-
其实,如果你想终止整个脚本,我认为你的原始代码应该可以工作。我不知道为什么没有。
标签: python python-3.x input terminate