python pexels_一行代码简化Python异常信息

点击上方“编程派”,选择设为“设为星标”

优质文章,第一时间送达!

412dc97c88c1ed8a9baf0334567c1430.png

即使是 Python,报错时也令人头大。

看着这一堆乱麻,不知道是该怀疑人生,还是怀疑自己手残。

6405f5ee58a603fef9e74617b9983ef7.png

那么,Python 异常输出美化工具PrettyErrors了解一下?

只需一个 import,报错也能整齐划一,错误代码位置、错误原因清晰明了,一眼就能看清。debug 仿佛都没有那么痛苦了。

9552123c9fe18a1ee4f4502628a4591c.png

一行代码简化报错

先来试试一个简单的错误。

def foo():
    1/0
foo()

不使用 PrettyErrors 库,报错信息长这样:

8d59ace1de1ef39a3f3c6cbc053f4f1c.png

倒是能看清,就是这一长串红字十分丑陋。

让我们来 import 一下 pretty_errors。输出变成了这个样子:

f78352dbdbe4291c43b27a504ccfe4ec.png

是不是清晰简洁了许多?

还可以自定义颜色。

e856d7dcf3d0c0fec63fcfb9d6949026.png

bug 少的时候,还不觉得有什么太大区别。当报错信息铺满一整页,美观不美观,对心灵的打击程度就完全不同了。

826414bb927cb46059f6c49096924f60.png

使用指南

像 Python 的所有第三方库一样,PrettyErrors 的安装十分简单。

pip 一下:

python -m pip install pretty_errors

如果你想让你的每一个程序都能这样在报错时也保持美貌,那么运行下面这这行命令,就不用每次都 import pretty_errors 啦。

python -m pretty_errors

并且,如此一来,语法错误(SyntaxError)的格式也同样能被美化。仅在程序中 import 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() 中的设置。

人生苦短,bug 实多。

何不试试 PrettyErrors,给 Debug 的过程添加几分美感~

项目地址:https://github.com/onelivesleft/PrettyErrors

出处:鱼羊@量子位

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版

回复关键词「m」,立即获取Python精选优质文章合集

回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~

题图:pexels,CC0 授权。

ce00e67f4c799b550e3357eb33e928e8.png

好文和朋友一起看~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值