Rich:终端输出美化工具,56k Star 的 Python 命令行神器

Python 终端美化库 Rich 在 GitHub 斩获了 56,521 Star:

正文顶部截图

README区域截图

Rich 是 Textualize 团队开源的一个 Python 库,专注于在终端中呈现彩色文本和精美的格式化输出。

平常我们用 print 打出来的内容全是单调的白色文字,数据一多就很难抓住重点。Rich 给终端输出加上了颜色、样式、表格、进度条、语法高亮等功能,让命令行输出也能做到层次分明、一目了然。

Rich 支持的功能覆盖了命令行输出的方方面面:

  • 彩色文本与样式:bold、italic、下划线、颜色等标记语法,类似 BBCode,一行 print 就能区分不同层级的信息
  • 表格渲染:用 Unicode 字符绘制表格边框,自动适配终端宽度,列宽智能调整,支持中文和嵌套内容
  • 进度条:支持多任务并发显示,内置百分比、文件大小、传输速度、剩余时间等列,无闪烁刷新
  • Markdown 渲染:直接在终端中渲染 Markdown 内容,标题、列表、代码块都能正常展示
  • 语法高亮:基于 Pygments 库,覆盖 Python、JSON、YAML 等几十种语言的代码高亮
  • Traceback 美化:比 Python 原生的异常回溯更易读,显示更多上下文代码片段
  • 树形结构:带引导线的层级展示,适合呈现文件目录或嵌套数据
  • 日志输出:Console.log 方法自动附带时间戳和调用位置,也能直接接管 Python 的 logging 模块

兼容性方面,Rich 支持 Linux、macOS 和 Windows(新版 Windows Terminal 支持真彩色),要求 Python 3.8 及以上。Jupyter Notebook 里可以直接使用,不需要额外配置。

安装和使用

安装非常简洁,一行命令搞定:

python -m pip install rich

安装完可以跑一下 python -m rich,能在终端里看到 Rich 的各项能力预览。

最简单的用法是替换内置 print:

from rich import print

print("Hello, [bold magenta]World[/bold magenta]!")

方括号里的标记语法可以设置粗体、颜色、斜体等样式。如果需要更精细的控制,用 Console 对象:

from rich.console import Console

console = Console()
console.print("Hello", "World!", style="bold red")

表格、进度条、树形结构等高级组件也都有对应的 Python API。比如用 track 函数包装一个迭代对象就能生成进度条,用 Table 类声明列名和数据就能输出对齐的表格。

除了 Rich 本身,Textualize 团队还开源了 Rich CLI,一个可以直接在命令行里高亮代码、渲染 Markdown、以表格形式展示 CSV 的命令行工具。姐妹项目 Textual 则是一个完整的终端 UI 框架,适合构建更复杂的终端交互式应用。

SV 的命令行工具。姐妹项目 Textual 则是一个完整的终端 UI 框架,适合构建更复杂的终端交互式应用。

更多推荐