traceback.print_堆栈()使用IPython的ultratb

2024-10-08 19:19:47 发布

您现在位置:Python中文网/ 问答频道 /正文

出于调试/日志记录的目的,我想将整个堆栈写入一个文件(例如在this question)中。我可以使用^{}。但是,我希望它看起来像IPython输出的更详细的回溯,例如,用^{}格式化。在

似乎IPython.core.ultratb中的类和方法需要有关异常的信息,因为它们是为回溯而设计的。但我也不例外:我只想以详细的方式显示堆栈。在

如何使用IPython.core.ultratb.VerboseTB的输出方法格式化由^{}或{a5}报告的堆栈?在


Tags: 文件方法core目的信息堆栈报告ipython
1条回答
网友
1楼 · 发布于 2024-10-08 19:19:47
import IPython.core.ultratb
import sys

try:
    1/0
except Exception as exc:
    tb = IPython.core.ultratb.VerboseTB()
    print(tb.text(*sys.exc_info()))

#                                      
# ZeroDivisionError                         Traceback (most recent call last)
# <ipython-input-8-725405cc4e58> in <module>()
#       1 try:
#   > 2     1/0
#       3 except Exception as exc:
#       4     tb = IPython.core.ultratb.VerboseTB()
#       5     print(tb.text(*sys.exc_info()))
# 
# ZeroDivisionError: division by zero

相关问题 更多 >

    热门问题