如何在python中做出时间敏感提示? (中断raw_input)

时间:2019-07-03 15:21:39

标签: python multithreading python-2.7 sleep raw-input

我在提示仅等待一定时间以供用户输入时遇到麻烦。

我最终使用线程启动一个等待输入的线程,并使用主线程尝试停止该程序。多线程可以正常工作,我的raw_input代码和quit()代码都可以正常工作...直到我将time.sleep()放入混合中以延迟程序退出。

似乎有些时间。sleep()使它等待线程完成;但是,我还找不到任何time.sleep替代方法。我也找不到任何raw_input替代品。

import threading 
import time

def ask():
    print raw_input("What's up?")

def giveUp():
    print "I give up!";
    quit();
    print "I already gave up!";
t1 = threading.Thread(target=ask);
t1.daemon = False;
t1.start()
time.sleep(0.1);
giveUp();

我希望输出“ What's up”(输出什么),然后再单击“ I放弃”。然后退出程序。

1 个答案:

答案 0 :(得分:0)

在Python中没有标准的方法可以执行此操作,但是有几种潜在的解决方案。一种更干净的方法是在呼叫raw_input之前注册警报。查看此问题here的答案。