作为一名 Python 开发者,在运行调试脚本的时候,就颇为头疼。
每次终端里输出的都是满屏幕的纯文本黑白日志,想找个关键信息都得眯着眼睛翻半天。
今天跟大家分享一个叫 Rich 的 Python 库,专为解决这个问题而生,在终端上美化日志输出。
通过安装使用这个库,在终端里输出的日志显示变得有颜色、有格式,一下子看着非常舒服。
而且还能直接在终端里显示出带边框的表格,以及任务实时进度条,甚至连代码都能高亮显示。
就像把网页那套排版能力都搬到了命令行里,调试代码的时候效率都高了不少。
终端输出加点料
首先 Rich 最基本的功能就是给终端输出的文字加颜色和样式。
不用写复杂的 ANSI 转义码,直接用类似 BBCode 的标记语法就行。
比如想输出一段加粗的红色文字,写成 [bold red]文字[/bold red]
这样就可以了。
更方便的是,它能自动识别 Python 的数据结构然后进行美化输出。
在代码里打印一个字典或者列表的时候,Rich 会自动加上语法高亮和缩进,比原生的 print 好看多了。
同样在调试的时候看变量内容,再也不用对着一坨挤在一起的字符发呆了。
表格显示不费劲
如果想在终端里显示表格数据,以前要么自己算空格对齐,要么就凑合着看乱七八糟的输出。
现在 Rich 直接提供了一个 Table 类能自动处理列宽、对齐方式和边框样式。
创建一个表格只需要几行代码,定义好列名和每行数据,Rich 会自动渲染成带边框的漂亮表格。
如果终端窗口变小了,它还会智能地调整列宽或者换行,不会让内容跑到屏幕外面去。
进度条让等待不焦虑
如果需要跑时间比较长的任务,那么 Rich 的进度条功能就特别实用。
最简单的用法就是用 track()
函数包一下循环,就能自动显示进度百分比、剩余时间等信息。
甚至还同时支持追踪多个任务,也可以创建多个进度条,每个都独立更新互不干扰。
除了这些功能之外,Rich 还有很多实用且颇具特色的功能,比如下面这些:
语法高亮:能把 Python 代码或其他编程语言的代码高亮显示,支持上百种语言和各种主题配色;
Markdown 渲染:支持在终端上直接渲染 Markdown 文本,正常显示标题、列表、代码块等信息;
错误追踪美化:默认把 Python 的异常信息美化,显示更多上下文代码,颜色高亮关键部分,比原生的 traceback 更好看;
日志增强:log 方法除了打印内容,还会自动显示时间戳、调用位置和局部变量,调试起来信息更加全面。
安装和使用
安装很简单,只需要执行一行命令就搞定:
最基础的用法就是使用 Rich 的 print 函数替换 Python 内置的 print,就能马上看到效果。
此外 Rich 支持 Linux、macOS 和 Windows,尤其在 Windows Terminal 终端里效果最好。
兼容 Python 3.8 以上版本,同时还能与 Jupyter Notebook 无缝集成使用。
写在最后
如果你经常写命令行工具或者脚本,Rich 确实能让输出看起来专业不少。
特别适合需要展示结构化数据、实时状态或者调试信息的场景。
总的来说,Rich 算是个挺实用的工具,能让终端界面从 “能用” 变成 “好用”。
GitHub 项目地址:https://github.com/Textualize/rich
今天的分享到此结束,感谢大家抽空阅读,我们下期再见,Respect!
往期热文