You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在Psychopy控制台监听Ctrl+C 操作会触发KeyboardInterrupt异常吗

关于Psychopy控制台监听Ctrl+C的相关问题解答

是否可以在Psychopy控制台窗口监听Ctrl+C操作

可以实现监听,两种常见实现路径如下:

  • 若在Psychopy图形界面的内置控制台运行实验:可通过psychopy.hardware.keyboard模块的键盘监听事件,直接匹配ctrl+c按键组合即可,注意要保证监听逻辑的轮询频率足够,避免按键事件被窗口焦点捕获遗漏
  • 若在系统终端(Windows命令提示符、Mac/Linux终端)调用Psychopy脚本运行:可直接用Python原生的信号处理逻辑,绑定SIGINT信号的回调函数实现监听

Ctrl+C操作是否会注册为KeyboardInterrupt异常

对应不同的窗口焦点状态有两种结果:

  • 当Psychopy实验窗口处于激活焦点状态时:默认的Psychopy事件循环会优先捕获键盘输入,此时按下Ctrl+C不会直接抛出KeyboardInterrupt异常,只会被识别为普通的组合按键事件
  • 当控制台窗口处于激活焦点状态时:按键会被终端优先捕获,此时会触发Python原生的KeyboardInterrupt异常,直接终止当前运行的脚本,除非你提前用signal模块注册了SIGINT的自定义处理逻辑覆盖默认行为

提示:如果需要在两种焦点场景下都能稳定响应Ctrl+C操作,建议同时实现Psychopy的按键事件监听和Python的信号处理逻辑,避免出现触发逻辑不一致的问题。

内容的提问来源于stack exchange,提问作者ivan866

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:36:05