如何在 Jupyter Lab/Notebook 中隐藏错误回溯?

use*_*671 0 python jupyter-notebook jupyter-lab

我的目标是只从 python 异常处理程序中获得最小的输出(没有回溯)。在一个简单的 python 脚本中我可以使用:

sys.tracebacklimit=0

然而在笔记本电脑中,这似乎并没有按照我想要的方式工作,而且输出实际上更差(更长)。有什么办法可以快速解决这个问题吗?

Jas*_*ngh 6

import sys
ipython = get_ipython()

def hide_traceback(exc_tuple=None, filename=None, tb_offset=None,
                   exception_only=False, running_compiled_code=False):
    etype, value, tb = sys.exc_info()
    return ipython._showtraceback(etype, value, ipython.InteractiveTB.get_exception_only(etype, value))

ipython.showtraceback = hide_traceback
Run Code Online (Sandbox Code Playgroud)

上面的代码将仅打印异常和颜色代码异常类型而不回溯。这是你想要的。将其粘贴到笔记本的第一个单元格中并尝试​​运行它