卖兜搞IT

Python Rich库的几个小用法

Python Rich这个库很久之前介绍过,今天就再通过例子来演示几个它的用法

如果还不知道rich这个Python库,可以去它的GitHub页面看一下(https://github.com/willmcgugan/rich),它主要是用来在终端做格式化显示的,包括颜色,样式(表格)等等,当然也有非常多小的功能,可以极大的方便我们做一些测试,调试等。

安装非常简单,直接 pip install rich就行了,安装完成可以通过 python -m rich 测试。

Image

下面就说几个我比较常用的非常简单的场景,也可以说是小技巧。

字符颜色,样式设置

通过rich的print函数来获取更加强大的打印功能,对于字符串可以非常方便的设置颜色,对于python的变量,非自动做格式化和颜色高亮。

Image

对于变量的这种格式化和颜色高亮,如果觉得每次调用print不方便,那可以引入pretty,这样默认所有变量的打印,都会使用rich的print模式。

Image

获取python object的详细信息

可以通过rich提供的inspect方法,获取并打印出一个Python对象的详细信息,从内容和格式上都要比python内存的对象打印丰富许多。

比如下面是默认的对象显示和引入pretty后的对象显示。

Image

如果我们引入rich的inspect,会发现,它能打印出更多详细的内容,格式化,高亮。而且如果加上参数methods=True,则会打印出这个object所支持的methods有哪些,非常方便,不用再去查文档了。

Image

rich加强版logging

rich提供了一个logging的handler,通过这个handler可以实现非常好看的logging消息格式化,包括样式,颜色等。

Image

更好的显示错误

rich可以让我们的python异常更好的显示出来,这个非常利于我们进行代码的排错

Image

其它

当然,rich最为强大的还有表格显示,进度条显示,树状结构显示等,这些都可以在github上找到相关的例子,这里就不赘述了。