gpt4 book ai didi

python - 如何在 Jupyter 中抑制回溯?

转载 作者:太空宇宙 更新时间:2023-11-03 14:03:36 24 4
gpt4 key购买 nike

我想在 Jupyter 笔记本的 Python 代码中隐藏回溯,因此只显示错误类型和消息。

This answer建议 sys.tracebacklimit = 0 但尝试给出以下结果:

ERROR:root:Internal Python error in the inspect module.Below is the traceback from this internal error.ERROR:root:Internal Python error in the inspect module.Below is the traceback from this internal error.Traceback (most recent call last): AssertionError Traceback (most recent call last): AssertionError

该答案还建议用自定义函数替换 sys.excepthook,但回溯仍然显示。

如何隐藏回溯?

最佳答案

我找到了几种方法来做到这一点,都涉及 monkeypatching IPython。

#1。这将仅输出异常类型和消息,但在输出区域中以红色突出显示:

from __future__ import print_function  # for python 2 compatibility
import sys
ipython = get_ipython()

def exception_handler(exception_type, exception, traceback):
print("%s: %s" % (exception_type.__name__, exception), file=sys.stderr)

ipython._showtraceback = exception_handler

#2。这将输出异常和异常类型的颜色代码(就像 Jupyter 通常那样,但没有回溯):

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()
value.__cause__ = None # suppress chained exceptions
return ipython._showtraceback(etype, value, ipython.InteractiveTB.get_exception_only(etype, value))

ipython.showtraceback = hide_traceback

关于python - 如何在 Jupyter 中抑制回溯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46222753/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com