一行代码,让你的 Python bug 与众不同
PrettyErrors 是一个精简 Python 错误信息的工具,特点是界面十分简洁友好。
它最显著的功能是支持在终端进行彩色输出,标注出文件栈踪迹,发现错误信息,过滤掉冗余信息,提取出关键部分,并且进行彩色标注,从而提高开发者的效率。
写代码本身就很不容易,特别是在几万行的代码中出现一个bug,一时半会找不到问题所在,这个时候,你一定很抓狂,很烦躁。特别是Python代码出错了,满屏幕大段大段的错误信息提示,想定位错误更是难上加难。
先来看看上面这段 traceback
- 只有一种颜色,无法像代码高亮那样,对肉眼实现太不友好了
- 无法直接显示报错的代码,排查问题慢人一步,效率太低
那有没有一种办法,可以解决这些问题呢?
当然有了,在 Python 中,没有什么问题是一个库解决不了的,别乱如麻的Python报错输出,一行代码让bug更清晰。
今天要介绍的这个库呢,叫做 pretty-errors ,从名字上就可以知道它的用途,是用来美化错误信息的。
下面介绍如何安装使用PrettyErrors。
通过这条命令你可以安装它
linuxmi@linuxmi:~/www.linuxmi.com$ pip install pretty_errors
或者
linuxmi@linuxmi:~/www.linuxmi.com$ pip3 install pretty-errors
全局配置
如果你想让你的每一个程序都能这样在报错时使其清晰易读,那么运行下面这这行命令配置全局可用。
linuxmi@linuxmi:~/www.linuxmi.com$ python3 -m pretty_errors
配置完成后,你再运行任何脚本,traceback 都会自动美化了。
取消全局配置
同样运行这个命令
linuxmi@linuxmi:~/www.linuxmi.com$ python3 -m pretty_errors
输入 C 即可清除全局配置。
单文件中使用
取消全局可用后,你可以根据自己需要,在你需要使用 pretty-errors 的脚本文件中导入 pretty_errors ,即可使用
import pretty_errors
但是这样,语法错误(SyntaxError)的格式就不能被美化。所以为了让美化更彻底,官方推荐你使用 python -m pretty_errors
不喜欢默认配置,试试这几个函数:
pretty_errors.configure()
pretty_errors.whitelist()
pretty_errors.blacklist()
pretty_errors.pathed_config()
比如要改变输出文件名的颜色,代码是这样的:
pretty_errors.configure(filename_color = pretty_errors.BRIGHT_YELLOW)
如果你发现上面这一番操作之后,啥改变也没发生,那就检查一下PYTHON_PRETTY_ERRORS,当它的值为0时,PrettyErrors是被禁用的。
set PYTHON_PRETTY_ERRORS = 1
需要注意的是,你使用的终端本身具有颜色输出功能,异常信息输出才会带有不同的颜色。如果不巧你惯用的是单色终端,那么可以试试 pretty_errors.mono() 中的设置。
自定义配置示例
from pretty_errors import *
configure(filename_color=BRIGHT_BLUE) # 设置文件名为亮蓝色
def f():
return 1 / 0
if __name__ == "__main__":
f()
结语
总的来说,这个库功能非常强大,使用效果也特别酷炫,它就跟 PEP8 规范一样,没有它是可以,但是有了它会更好一样。对于某些想自定义错误输出场景的人,pretty_errors 会是一个不错的解决方案。
相关文章
- 基于Python的人脸识别考勤监控
- Python答题游戏
- Python调用百度API实现图像识别
- Python全栈疫情分析项目
- Python-基础-if语句快速入门
- Python-基础-循环语句快速入门
- Python-GUI签名
- 【2】VScode 搭建python和tensorflow环境
- python 简易时钟
- 【1】windows系统如何安装后缀是whl的python库
- 【2】超级详细Python-matplotlib画图,手把手教你画图!(线条颜色、大小、线形、标签)
- 【4】python读写文件操作---详细讲解!
- 【2】Anaconda下:ipython文件的打开方式,Jupyter Notebook中运行.py文件,快速打开ipython文件的方法!
- 【编写环境一】遇到常见python函数处理方式
- 【编写环境二】python库scipy.stats各种分布函数生成、以及随机数生成【泊松分布、正态分布等】
- Python xlwt数据保存到 Excel中以及xlrd读取excel文件画图
- 强化学习技巧三:Python多进程
- 强化学习技巧五:numba提速python程序
- 【7】python_matplotlib 输出(保存)矢量图方法;画图时图例说明(legend)放到图像外侧;Python_matplotlib图例放在外侧保存时显示不完整问题解决
- 【8】python_matplotlib改变横坐标和纵坐标上的刻度(ticks)、sagemath-list_plot()调整图例(legend)中点的数量、Matplotlib画各种论文图