之前,我能够杀死一个以execfile("somescript.py")
开头的python脚本,而在解释器中按Ctrl + C
而不会终止解释器。这将导致会停止脚本的异常,并让我再次使用解释器。但是,现在(我怀疑这是python的更新版本),当我在运行脚本时按Ctrl + C
时,它有时也会杀死解释器,并将我抛到Linux命令行。由于某些原因,每当我用Ctrl + C
杀死一个脚本时就不会发生这种情况。停止运行python脚本而不杀死解释器
这很烦人,因为我经常交互地使用python解释器,也就是说,我运行一些脚本,使用execfile("somescript.py")
,在解释器中产生的数据中玩耍等。之前,如果某个脚本卡住了,我可以杀死它并且在卡住之前不会丢失它计算的数据(或者我已经存储在变量中)。
所以我的问题是,我现在如何杀死一个在解释器中以execfile()
开头的python脚本而不会导致解释器被破坏?
为什么不捕获异常和'break'你正在运行什么循环? – jonrsharpe 2015-03-03 14:10:56
可能发生脚本意外地在它有机会处理中断之前完成,并且最终被翻译抓住。 – BartoszKP 2015-03-03 14:21:49
我不认为是这种情况,因为如果我没有在解释器中运行的任何东西,我可以按ctrl + C尽可能多地按我的意愿解释并不会被杀死。我认为这种行为与我在脚本中使用外部(非python)库有关,如果我在从这些库中执行某些内容时终止脚本,整个解释器就会死亡。 – Echows 2015-03-03 16:37:34