我正在使用WinPython的Spyder。当我使用命令exit()
创建新脚本并在那里运行时,此命令会终止内核:
内核似乎意外死亡。使用“重新启动内核”继续使用此控制台。
在此运行时环境中停止脚本的正确方法是什么?
答案 0 :(得分:11)
一个人可以
通过引发自定义异常(例如
)退出脚本raise Exception('exit')
或
将代码封装到main
函数中并在其中使用return
。
如果有人不想更改脚本,可以
切换到"在新的专用Python解释器中执行"或
在IPython控制台注册一个退出处理程序:
def exit_handler(): raise Exception("exit()"), get_ipython().ask_exit = exit_handler
答案 1 :(得分:4)
正如Robert Pollak所说,Spyderlib Issue 1974 #4中的评论是更好的解决方案。只需定义一个导致异常的函数,如果你想在spyder中停止执行脚本,就调用这个函数。
def f(): raise Exception("Found exit()")
答案 2 :(得分:0)
要在没有警告的情况下中断Spyder的执行,可以调用
raise SystemExit(0)
答案 3 :(得分:0)
可以使用内置解决方案:
import sys
sys.exit()