这个项目能做什么
Rich 是一个 Python 库,用于在终端中呈现富文本和美观的格式化输出。它提供了简洁的 API,便于为终端输出添加颜色和样式,并开箱即用地渲染精美的表格、进度条、Markdown、语法高亮源代码、回溯等内容。
兼容性:Rich 支持 Linux、macOS 和 Windows。真彩色和 emoji 可在新版 Windows Terminal 中使用;经典终端仅支持 16 色。它需要 Python 3.8 或更高版本,并且无需额外配置即可在 Jupyter notebook 中使用。
安装:使用 pip 安装(`python -m pip install rich`),并可通过 `python -m rich` 测试输出效果。
Rich print:导入 `rich.print` 即可获得与内置 `print` 签名相同的增强版本,同时支持标记语法,例如 `[bold magenta]World[/bold magenta]` 以及 emoji 名称。Rich 还可通过 `pretty.install()` 安装到 Python REPL 中,使数据结构以美观格式输出并高亮显示。
Console API:`Console` 对象提供类似内置函数的 `print` 方法,支持自动换行、样式关键字参数以及类似 BBCode 的控制台标记。它还提供 `log` 方法,可添加时间和位置列,并能美观打印集合数据;通过 `log_locals` 选项可显示局部变量。此外还内置了适用于 Python logging 模块的日志 Handler。
内置可渲染对象包括:
- Emoji:在两个冒号之间输入名称即可插入 emoji,例如 `:smiley:`。
- 表格:灵活的 Unicode 表格,可配置边框、样式、单元格对齐方式,列宽可自动调整以适应终端。
- 进度条:通过 `track` 或自定义列配置支持多个无闪烁进度条,可显示百分比、文件大小、速度和剩余时间。
- 状态:通过 `status` 上下文管理器显示 spinner 动画和消息;可用 spinner 可通过 `python -m rich.spinner` 浏览。
- 树:渲染带引导线的层级数据,适合展示文件结构;`python -m rich.tree` 提供演示。
- 列:以等宽或最优宽度整齐排列内容列,类似目录列表。
- Markdown:使用 `Markdown` 类在终端中渲染 Markdown 格式。
- 语法高亮:通过 `Syntax` 对象由 Pygments 提供支持,可配置主题和行号。
- 回溯:美观且更易读的回溯信息,比标准 Python 回溯显示更多代码,并可配置为默认处理器。
Rich 的可渲染对象构建在 Console Protocol 之上,允许用户实现自己的 Rich 内容。README 中提到的相关项目包括 Rich CLI(一个用于语法高亮、Markdown 渲染以及在表格中显示 CSV 的命令行应用)和 Textual(用于构建复杂终端用户界面的姊妹项目)。
评论
0 评分人数达到10人后显示
登录后参与讨论。