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`,那么展示的是:
```python
Traceback (most recent call last):
File "D:\My_Document\test\Test001.py", line 3, in <module>
print(1/0)
~^~
ZeroDivisionError: division by zero
自定义配置
上面的例子里,我们使用的都是 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
:启用后,重置转义序列将写入`stdout`和`stderr`;如果您的控制台留下错误的颜色,请启用此选项。filename_display
:设置文件名的展示方式,有三个选项:pretty_errors.FILENAME_COMPACT
、`pretty_errors.FILENAME_EXTENDED`,或者`pretty_errors.FILENAME_FULL`
笔者默认配置
仅供参考
import pretty_errors
pretty_errors.configure(
separator_character='*',
lines_before=2,
lines_after=2,
display_arrow=True,
display_link=True,
display_locals=True,
)