我正在读取串行数据并使用while循环写入csv文件。我希望用户在感觉收集到足够的数据后能够终止while循环。
while True:
#do a bunch of serial stuff
#if the user presses the 'esc' or 'return' key:
break
我已经使用opencv做了类似的事情,但是它似乎在这个应用程序中不起作用(而且我真的不想只为这个函数导入opencv)。。。
# Listen for ESC or ENTER key
c = cv.WaitKey(7) % 0x100
if c == 27 or c == 10:
break
所以。如何让用户脱离循环?
另外,我不想使用键盘中断,因为脚本需要在while循环终止后继续运行。
最简单的方法就是用通常的
Ctrl-C
(SIGINT)来中断它。由于
Ctrl-C
导致KeyboardInterrupt
被提升,只需在循环外捕获它并忽略它。有一种解决方案不需要非标准模块,并且100%可移植
以下代码对我有效。它需要openCV(导入cv2)。
代码由一个无限循环组成,该循环不断地寻找按下的键。在这种情况下,当按下“q”键时,程序结束。可以按其他键(在本例中为“b”或“k”)来执行不同的操作,例如更改变量值或执行函数。
相关问题 更多 >
编程相关推荐