Python 在Jupyter中停止程序
我正在使用Jupyter(以前是iPython笔记本)环境,与Python3一起使用,我想要一个程序提前终止 通常在Python中,我只需执行Python 在Jupyter中停止程序,python,python-3.x,jupyter-notebook,Python,Python 3.x,Jupyter Notebook,我正在使用Jupyter(以前是iPython笔记本)环境,与Python3一起使用,我想要一个程序提前终止 通常在Python中,我只需执行raisesystemexit或sys.exit() 但是,在Jupyter环境中,我被难看的消息“发生异常,请使用%tb查看完整的回溯”所困扰。Jupyter中有没有一种方法可以让程序立即终止而不出错 谢谢。如果您正在使用web界面,只需点击工具栏中的中断内核按钮。这会抛出一个键盘中断,并立即停止单元格的执行。我最近也遇到了同样的问题。我的解决方案是像这
raisesystemexit
或sys.exit()
但是,在Jupyter环境中,我被难看的消息“发生异常,请使用%tb查看完整的回溯”所困扰。Jupyter中有没有一种方法可以让程序立即终止而不出错
谢谢。如果您正在使用web界面,只需点击工具栏中的中断内核按钮。这会抛出一个
键盘中断
,并立即停止单元格的执行。我最近也遇到了同样的问题。我的解决方案是像这样使用return
:
如果uuuu name_uuuu=='\uuuuuuu main\uuuuuu':
#一些代码
如果出了什么问题:
返回
#如果什么也没发生,就继续吧。
这允许代码停止,而不会杀死内核或给出难看的堆栈跟踪。我不想停止失控的程序。我想要一个程序结束,如果一些预定义的条件得到满足。(假设它找不到文件,所以我想用一条用户友好的错误消息而不是异常和堆栈跟踪来关闭它。)IPython可以选择设置自定义异常处理程序(
get\u IPython().set\u custom\u exc(…)
,)。我认为,您可以定义一个特定的异常类型和一个在不显示回溯的情况下打印其消息的处理程序。(这是一个四年前的问题。我很欣赏这个答案,但我无法轻松测试它。)当您处于顶级时,这是一个不错的主意。但是,当您深入函数调用时,它似乎不起作用。