【发布时间】:2022-01-16 14:27:36
【问题描述】:
我是 Python 新手,我正在寻找一种在特定时间后停止输入的方法。例如,在等待用户输入时,30 秒后,我想检查时间。如果时间是某个时间,那么我想停止输入并继续前进。我尝试为此使用非阻塞输入,但我无法找到让它工作的方法。我也不想使用线程。我也在寻找一个跨平台的解决方案。我知道我有很多要求,但任何帮助将不胜感激。谢谢!
【问题讨论】:
标签: python input time cross-platform
我是 Python 新手,我正在寻找一种在特定时间后停止输入的方法。例如,在等待用户输入时,30 秒后,我想检查时间。如果时间是某个时间,那么我想停止输入并继续前进。我尝试为此使用非阻塞输入,但我无法找到让它工作的方法。我也不想使用线程。我也在寻找一个跨平台的解决方案。我知道我有很多要求,但任何帮助将不胜感激。谢谢!
【问题讨论】:
标签: python input time cross-platform
您可以使用线程在一个函数中创建输入,并在另一个函数中创建计时器。
from threading import Thread
import time
import os
answer = None
def inp():
global start_time, answer
start_time = time.time()
answer = input("INPUT: ")
def timer():
sec = 2
while True:
passed = time.time() - start_time
if passed > sec and answer == None:
os._exit(1)
t1 = Thread(target=inp)
t2 = Thread(target=timer)
t1.start()
t2.start()
【讨论】: