2

我输入时使用的是 PySerial

serialObject.read()

并且执行挂起等待一些串行数据。如何中止这个命令?我想输入新命令并忽略这个。我在 Windows 上使用 IDLE 并且 Ctrl+C 似乎不起作用。

4

2 回答 2

1

如果在时间限制之前没有收到数据,则将 PySerial 配置为超时。如果您没有超时,那么您唯一的选择是要求操作系统终止该进程。

于 2012-08-02T14:36:28.807 回答
0

您是否尝试过向 CTRL-C 发送垃圾邮件?不知道为什么,但有时我必须反复按 CTRL+C 才能让该死的 prgram 退出。

您也可以尝试使用以下方式劫持 CTRL-C:

import signal
import sys
def signal_handler(signal, frame):
        print 'You pressed Ctrl+C!'
        sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)

但如果正常的 CTRL+C 不起作用,我不确定这是否真的有帮助。

于 2012-08-01T23:01:37.533 回答