我正在尝试做与此问题完全相同的事情:
如何在Python中防止键盘中断打断一段代码块? (抱歉,我还没有足够的声望在那里发布评论)
但是,那里发表的两个最佳答案都不能满足我的需求。当我使用其中任意一个解决方案时按下 CTRL+C 后,脚本仍会立即关闭,并出现以下提示:
forrtl: error (200): program aborting due to control-C event
我正在处理的代码非常长,包含了相当多的导入模块。我是否正确地假设其中一个模块干扰了 KeyboardInterrupt
的正常行为?如果是这样的话,我应该如何找出是哪一个模块造成了问题?
(我在Windows上运行python 2.7.6 32位版本)
谢谢。
scipy.signal import savgol_filter
这个愚蠢的地方。找到了比链接中更优雅的解决方案:只需将scipy
导入放在一个函数内,就可以使您的main
足够安全。 - Alex Deft