例如,如果您花费超过 10 秒的时间来回答输入,程序将打印文本或执行某行代码。您仍然可以回答,当您没有回答时,只会打印文本,或类似的内容。
最佳答案
您可以使用线程
实现类似的效果。这是一个非常简单的示例:
from threading import Thread
from time import sleep
def ask():
text = input("Type something ")
print(text)
def timeout():
sleep(5)
print("timed out!")
for i in (Thread(target=ask), Thread(target=timeout)):
# Start 'ask' and 'timeout' as threads
i.start()
两个函数将并行运行,您将看到 5 秒后打印的超时消息,与输入分开。
如果您想要更复杂,您可以保留对正在运行的线程的引用,并允许任一线程停止另一个线程(例如,如果用户输入某些内容,则取消超时)。
关于python - 如果有人花了很长时间才回答 Python 上的输入,有没有办法让事情发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71301245/