Rich:Python 终端输出格式化库,56k Star
Rich:Python 终端输出格式化库,56k Star
Rich 是一个 Python 库,专门用来在终端里输出带颜色、带样式的文本,还能渲染表格、进度条、Markdown、代码高亮、错误追踪等。项目在 GitHub 上拿到了 56k+ 的 Star。

Rich 的 API 设计得很简单,基本只要 import 然后调用就行。比如想给终端输出加颜色:
from rich import print
print("Hello, [bold magenta]World[/bold magenta]!")
运行后终端会直接显示带颜色的文字,不需要额外配置。

支持的功能
Rich 内置了多种可渲染的组件,覆盖了终端输出的常见场景:
- Console:核心对象,控制输出格式、颜色、样式,支持类似 BBCode 的标记语法
- Tables:用 Unicode 字符画表格,列宽自动适配终端宽度
- Progress Bars:无闪烁进度条,支持多任务并行显示
- Markdown:直接在终端渲染 Markdown 内容
- Syntax Highlighting:基于 Pygments 的代码高亮,支持行号
- Tracebacks:美化 Python 错误追踪信息,比默认的更易读
- Log:带时间戳和调用位置的日志输出,自动格式化 Python 数据结构
- Tree:树形结构渲染,适合展示文件目录
- Columns:等宽分栏显示,类似 ls 命令的效果
- Status:加载动画,适合等待耗时操作的场景
- Inspect:生成任意 Python 对象的详细报告
- Emoji:在输出中直接用
:smiley:这样的语法插入表情
安装
pip install rich
安装完可以跑一下自带的演示:
python -m rich
基本用法
最简单的方式是直接替换 print:
from rich import print
print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
如果需要更精细的控制,用 Console 对象:
from rich.console import Console
console = Console()
console.print("Hello", "World!", style="bold red")
Console 的 print 方法会自动换行适配终端宽度。还可以用标记语法做行内样式:
console.print("Where there is a [bold cyan]Will[/bold cyan] there [u]is[/u] a [i]way[/i].")
表格
from rich.console import Console
from rich.table import Table
console = Console()
table = Table(show_header=True, header_style="bold magenta")
table.add_column("Date", style="dim", width=12)
table.add_column("Title")
table.add_column("Box Office", justify="right")
table.add_row("Dec 20, 2019", "Star Wars: The Rise of Skywalker", "$375,126,118")
console.print(table)
表格会自动调整列宽,终端缩小时文字会自动换行。
进度条
from rich.progress import track
for step in track(range(100)):
do_step(step)
内置的列可以显示百分比、文件大小、传输速度、剩余时间等信息。
代码高亮
from rich.console import Console
from rich.syntax import Syntax
my_code = 'def hello():\n print("Hello, World!")'
syntax = Syntax(my_code, "python", theme="monokai", line_numbers=True)
console = Console()
console.print(syntax)
错误追踪
Rich 可以接管 Python 的异常处理,把 traceback 渲染成更易读的格式。设置一次之后所有未捕获的异常都会自动美化。
REPL 支持
在 Python 交互式环境中也可以使用:
from rich import pretty
pretty.install()
之后所有数据结构都会自动格式化输出。
兼容性
Rich 支持 Linux、macOS 和 Windows。Windows 需要用新版终端才能支持真彩色和 emoji,经典终端只支持 16 色。最低要求 Python 3.8。Jupyter Notebook 里也能直接用,不需要额外配置。
Rich 还有一个命令行工具 Rich CLI,可以直接在终端高亮代码、渲染 Markdown、显示 CSV 表格。另外还有姐妹项目 Textual,可以用 Python 在终端里构建完整的用户界面。
Notebook 里也能直接用,不需要额外配置。
Rich 还有一个命令行工具 Rich CLI,可以直接在终端高亮代码、渲染 Markdown、显示 CSV 表格。另外还有姐妹项目 Textual,可以用 Python 在终端里构建完整的用户界面。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)