Rich:Python开发者的完美终端库
Rich 是一个 Python 库,可以在终端中提供富文本和精美格式。
Rich 的 API 让在终端输出颜色和样式变得很简单。此外,Rich 还可以绘制漂亮的表格、进度条、markdown、语法高亮的源代码以及栈回溯信息(tracebacks)等——开箱即用。
Rich 适用于 Linux,OSX 和 Windows。真彩色/表情符号可与新的 Windows 终端一起使用,Windows 的经典终端仅限 8 种颜色。
Rich 还可以与 Jupyter 笔记本一起使用,而无需其他配置。
一、安装rich库
安装命令:pip install rich
安装完成之后,可以查看rick库信息:
pip show rich
Name: rich
Version: 13.7.0
Summary: Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal
Home-page: https://github.com/Textualize/rich
Author: Will McGugan
Author-email: willmcgugan@gmail.com
License: MIT
Location: /Users/rickie/opt/anaconda3/envs/p312-env/lib/python3.12/site-packages
Requires: markdown-it-py, pygments
Required-by: open-interpreter, semgrep
下面开始一些简单的开发示例。
二、使用控制台
想要对 Rich 终端内容进行更多控制,可以导入并构造一个控制台对象。
# 导入 rich 库中的 Console 类
from rich.console import Console
# 创建一个 Console 实例
console = Console()
# 使用默认样式打印 "Hello" 和 "World!"
console.print("Hello", "World!")
# 使用 "bold red" 样式打印 "Hello" 和 "World!"
console.print("Hello", "World!", style="bold red")
上述这段代码的主要功能是:
- 导入 rich 库中的 Console 类。
- 创建一个 Console 实例。
- 使用默认样式和指定样式分别打印 "Hello" 和 "World!"。
如果想获得更细腻更复杂的样式,Rich 可以渲染一个特殊的标记,其语法类似于bbcode。示例如下:
console.print("Where there is a [bold cyan]Will[/bold cyan] there [u]is[/u] a [i]way[/i].")
三、Rich 的打印功能
下面这段代码的主要功能是:
- 导入 rich 库中的 print 函数。
- 使用 rich 库中的 print 函数打印一条带有样式的消息,并附加一个表情符号和局部变量信息。
# 导入 rich 库中的 print 函数
from rich import print
# 使用 rich 库中的 print 函数打印消息
# 使用 [bold magenta] 和 [/bold magenta] 标签来设置文本样式
# 并附加一个表情符号和 locals() 信息
print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
其中,locals() 函数的主要功能是:
- 返回当前作用域内的所有局部变量及其值的字典。
- 可以用于调试、动态生成代码等场景。