我正在做一个长的(几天的)处理。我希望能够随时暂停并继续:
while True:
do_the_work() # 100 millisec per call
if keypressed():
print "Processing paused. Please do another keypress to resume"
raw_input()
我应该用什么函数来代替伪代码keypressed()
?你知道吗
显然raw_input()
在这里不起作用,因为它会在do_the_work()
的每个调用之后等待。你知道吗
同时使用
try: ...
except KeyboardInterrupt: ...
不起作用,因为它会退出循环,而不是暂停/继续。另一方面,如果try / except
在循环中,它不会退出循环,但是如果它发生在do_the_work()
的中间,它会引起问题。你知道吗
你只需要确保你的
try/except
在while
块中。你知道吗示例:
输出:
相关问题 更多 >
编程相关推荐