12得票3回答
Python 3中与thread.interrupt_main()等效的方法是什么?

在Python 2中,有一个名为thread.interrupt_main()的函数,当在子线程中调用时会在主线程中引发一个KeyboardInterrupt异常。 在Python 3中,这也可以通过_thread.interrupt_main()实现,但它是一个低级别的“支持模块”,主要用...

10得票2回答
Python中的KeyboardInterrupt是什么时候被触发的?

所有文档告诉我们的是: 当用户按下中断键(通常为Control-C或Delete)时引发。在执行过程中,会定期检查是否有中断。 但是从代码角度来看,我什么时候能看到这个异常呢?它是在语句执行期间发生的吗?只在语句之间发生?它可以发生在表达式的中间吗? 例如:file_ = ope...

9得票2回答
tkinter:KeyboardInterrupt 需要一段时间

在Linux上使用Python的Tkinter,我试图通过使用KeyboardInterrupt异常使Ctrl+C停止执行,但是当我按下它时,一段时间内什么也不会发生。最终它“接受”并退出。示例程序: import sys from Tkinter import * try: r...

8得票3回答
运行时警告: 使用GPIO.setup和GPIO.cleanup时无法与KeyboardInterrupt一起使用

我在使用树莓派编程时遇到了问题。 由于我刚开始接触Python,所以需要一些帮助。 这是我的代码: import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) led1=22 led2=17 GPIO.setup(led1, ...

7得票2回答
如何在Windows中使用subprocess Popen.send_signal(CTRL_C_EVENT)实现期望的结果?

在Windows中的Python 2.7中,根据文档,您可以发送CTRL_C_EVENT信号(Python 2.7 Subprocess Popen.send_signal documentation)。但是,当我尝试时,子进程没有收到预期的键盘中断。 以下是父进程的示例代码: # FIL...

7得票1回答
Selenium:关闭浏览器而不退出Python脚本

我使用以下代码来处理当用户使用 Ctrl + C 终止正在运行的 Python 脚本时的情况。 except KeyboardInterrupt: print "ABORTED" 然而,这也会终止我的Selenium WebDriver浏览器。 有没有一种方法可以终止脚本但保持...

7得票1回答
Python中如何使用KeyboardInterrupt异常退出无限循环的while循环。

当按下Ctrl+C时,我的while循环不会退出。它似乎忽略了我的KeyboardInterrupt异常。循环部分如下: while True: try: if subprocess_cnt <= max_subprocess: try: not...

7得票1回答
在扭曲程序中如何打断raw_input?

我将参考这个解释和这个解决方法: 所以我正在做的是: def interrupted(signum, stackframe): log.warning('interrupted > Got signal: %s', signum) menu.quitMenu = Tr...

7得票2回答
Python中的键盘中断无法终止Rust函数(PyO3)

我有一个使用PyO3和Rust编写的Python库,其中涉及一些昂贵的计算(单个函数调用最长需要10分钟)。在从Python中调用时如何终止执行? Ctrl+C似乎只能在执行结束后处理,因此基本上是无用的。 最小可重现示例: # Cargo.toml [package] name = ...