rich - Python终端美化库
rich 是一个 Python 库,用于在终端中编写富文本(带颜色和样式),并显示表格、Markdown 和语法高亮代码等高级内容。
使用 rich 可以让您的命令行应用程序更具视觉吸引力,并以更易读的方式呈现数据。rich 也可以作为一个有用的调试辅助工具,通过漂亮地打印和语法高亮数据结构。
特性概览
rich 提供了丰富的功能来增强终端输出:
- 彩色和样式文本: 使用简单的标记语言为文本添加颜色、粗体、斜体等样式。
- 漂亮打印 (Pretty Printing): 自动格式化 Python 对象和数据结构,使其更易于阅读。
- 语法高亮: 支持多种编程语言的代码语法高亮。
- 表格: 在终端中创建美观的表格。
- Markdown: 直接在终端渲染 Markdown 内容。
- 进度条: 显示任务的进度(虽然 tqdm 更专注于此,但 rich 也提供)。
- Traceback: 美化 Python 异常的 Traceback 输出。
- 日志处理: 提供一个日志处理器,可以将日志输出到终端并进行美化。
- Inspect: 一个强大的函数,可以生成任何 Python 对象的详细报告,非常适合调试。
- 布局: 支持更复杂的终端布局。
安装
您可以使用 pip 或您喜欢的包管理器从 PyPI 安装 rich Source:
1 | pip install rich |
如果您打算在 Jupyter Notebook 中使用 rich,可以安装额外的依赖项:
1 | pip install "rich[jupyter]" |
快速开始
最快上手 rich 的方法是导入其替代的 print
函数。它与内置的 print
函数接受相同的参数,可以作为直接替代品 Source。
1 | from rich import print |
如果您不想覆盖内置的 print
函数,可以将其导入为其他名称,例如 rprint
Source:
1 | from rich import print as rprint |
控制台标记 (Console Markup)
rich 使用简单的方括号语法来添加颜色和样式 Source:
1 | from rich import print |
漂亮打印 (Pretty Printing)
rich 的 pretty
模块可以自动美化 Python 数据结构的输出。您可以使用 pretty.install()
来启用此功能,以便在 REPL 或脚本中自动漂亮打印对象 Source。
1 | from rich import pretty |
Inspect 函数
rich.inspect()
函数可以生成关于任何 Python 对象的详细报告,包括其类型、值、属性和方法等,是调试的绝佳工具 Source。
1 | from rich import inspect |
错误处理
rich 提供了 rich.traceback
模块来美化异常的 Traceback 输出。您可以使用 rich.traceback.install()
来启用此功能,以便在异常发生时自动显示美化后的 Traceback Source。
1 | from rich import traceback |
更多功能
rich 还提供了许多其他强大的功能,例如:
- Tables: 使用
rich.table.Table
类创建和打印表格。 - Syntax: 使用
rich.syntax.Syntax
类高亮显示代码片段。 - Markdown: 使用
rich.markdown.Markdown
类渲染 Markdown 文件或字符串。
探索这些功能可以极大地提升您终端应用的交互性和可读性。