python - 如何用击键杀死while循环?

标签 python while-loop break

我正在使用 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) 来中断它。

try:
    while True:
        do_something()
except KeyboardInterrupt:
    pass

由于 Ctrl-C 导致 KeyboardInterrupt 被引发,所以只需在循环外捕获它并忽略它。

关于python - 如何用击键杀死while循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13180941/

相关文章:

linux - 在循环 bash 中等待

java - 如何从 for 循环内部返回变量

python - super().method() 与 super(self.__class__,self).method() 之间的区别

python - 如何在 PyQt5 的 QTableWidgetItem 中使用 UserRole 设置数据

python - 将函数中的默认参数值设置为另一个参数的值

c - While循环导致程序崩溃

java - 当我单击 while 循环中的按钮时,如何进入下一次迭代?

java - 如何重写或修改此代码以使其工作相同但不使用break语句

jquery - 打破 Jquery 每个循环的问题?

python - PyQt5 - 调整大小(限制最大大小)输入对话框