pretty-errors,一个好用的BUG展示库

简介

pretty-errors是一个好用的第三方python库,它可以让你的程序bug在展示过程中显得一针见血。

安装

pip install pretty-errors

使用

想要使用pretty_errors,只需要import pretty_errors即可。十分方便

首先我们用除0错误来尝试这个库的使用

import pretty_errors

print(1/0)

输出:

-------------------------------------------------------------------------------
Test001.py 3 <module>
print(1/0)

ZeroDivisionError:
division by zero

如果不使用pretty_errors,那么展示的是:

Traceback (most recent call last):
  File "D:\My_Document\test\Test001.py", line 3, in <module>
    print(1/0)
          ~^~
ZeroDivisionError: division by zero

自定义配置

以下文章出自:https://www.cnblogs.com/wongbingming/p/12450565.html

上面的例子里,我们使用的都是 pretty_errors 的默认美化格式,展示的信息并没有那么全。

比如

  • 它并没有展示报错文件的绝对路径,这将使我们很难定位到是哪个文件里的代码出现错误。
  • 如果能把具体报错的代码,给我们展示在终端屏幕上,就不需要我们再到源码文件中排查原因了。

pretty_errors提供了大量的自定义配置,可以提供用户自定义输出,调用pretty_errors.configure并传入形参即可:

pretty_errors.configure(
    separator_character = '*',
    filename_display    = pretty_errors.FILENAME_EXTENDED,
    line_number_first   = True,
    display_link        = True,
    lines_before        = 5,
    lines_after         = 2,
    line_color          = pretty_errors.RED + '> ' + pretty_errors.default_config.line_color,
    code_color          = '  ' + pretty_errors.default_config.line_color,
)

pretty_errors.configure() 还可以接收很多的参数,你可以根据你自己的需要进行配置。

设置颜色

  • header_color:设置标题行的颜色。
  • timestamp_color:设置时间戳颜色
  • default_color:设置默认的颜色
  • filename_color:设置文件名颜色
  • line_number_color:设置行号颜色。
  • function_color:设置函数颜色。
  • link_color:设置链接的颜色。

在设置颜色的时候,pretty_errors 提供了一些常用的 颜色常量供你直接调取。

  • BLACK:黑色
  • GREY:灰色
  • RED:红色
  • GREEN:绿色
  • YELLOW:黄色
  • BLUE:蓝色
  • MAGENTA:品红色
  • CYAN:蓝绿色
  • WHITE:白色

而每一种颜色,都相应的匹配的 BRIGHT_ 变体 和 _BACKGROUND 变体。其中,_BACKGROUND 用于设置背景色。

设置显示内容

  • line_number_first:启用后,将首先显示行号,而不是文件名。
  • lines_before: 显示发生异常处的前几行代码
  • lines_after: 显示发生异常处的后几行代码
  • display_link:启用后,将在错误位置下方写入链接,VScode将允许您单击该链接。
  • separator_character:用于创建标题行的字符。默认情况下使用连字符。如果设置为 ‘’ 或者 None ,标题将被禁用。
  • display_timestamp:启用时,时间戳将写入回溯头中。
  • display_locals:启用后,将显示在顶部堆栈框架代码中的局部变量及其值。
  • display_trace_locals:启用后,其他堆栈框架代码中出现的局部变量将与它们的值一起显示。

设置怎么显示

  • line_length:设置每行的长度,默认为0,表示每行的输出将与控制台尺寸相匹配,如果你设置的长度将好与控制台宽度匹配,则可能需要禁用full_line_newline,以防止出现明显的双换行符。
  • full_line_newline:当输出的字符满行时,是否要插入换行符。
  • timestamp_function:调用该函数以生成时间戳。默认值为time.perf_counter
  • top_first:启用后,堆栈跟踪将反转,首先显示堆栈顶部。
  • display_arrow:启用后,将针对语法错误显示一个箭头,指向有问题的令牌。
  • truncate_code:启用后,每行代码将被截断以适合行长。
  • stack_depth:要显示的堆栈跟踪的最大条目数。什么时候0将显示整个堆栈,这是默认值。
  • exception_above:启用后,异常将显示在堆栈跟踪上方。
  • exception_below:启用后,异常显示在堆栈跟踪下方。
  • reset_stdout:启用后,重置转义序列将写入stdoutstderr;如果您的控制台留下错误的颜色,请启用此选项。
  • filename_display:设置文件名的展示方式,有三个选项: pretty_errors.FILENAME_COMPACTpretty_errors.FILENAME_EXTENDED,或者pretty_errors.FILENAME_FULL

笔者默认配置

仅供参考

pretty_errors.configure(
    separator_character='*',
    lines_before=2,
    lines_after=2,
    display_arrow=True,
    display_link=True,
    display_locals=True,
)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值