rich 控制台

rich 控制台#

想要对 Rich 终端内容进行更多控制,请您导入并构造 Console 对象。

from rich.console import Console

console = Console()

Console 对象包含 print 方法,它和语言内置的 print 函数有着相似的接口。下面是一段使用样例:

console.print("Hello", "World!")
Hello World!

您可能已经料到,这时终端上会显示“ Hello World!”。请注意,与内置的“print”函数不同,Rich 会将文字自动换行以适合终端宽度。

有好几种方法可以为输出添加颜色和样式。您可以通过添加 style 关键字参数来为整个输出设置样式。例子如下:

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

这个范例一次只设置了一行文字的样式。如果想获得更细腻更复杂的样式,Rich 可以渲染一个特殊的标记,其语法类似于 bbcode。示例如下:

console.print("Where there is a [bold cyan]Will[/bold cyan] there [u]is[/u] a [i]way[/i].")
Where there is a Will there is a way.

控制台对象处理生成 ANSI 转义序列的机制,用于颜色和样式。它会自动检测终端的功能,并在必要时转换颜色。

  • size 是终端的当前尺寸(如果你调整窗口大小,它可能会改变)。

  • encoding 是默认编码(通常是 “utf-8”)。

  • is_terminal 是一个布尔值,表示 Console 实例是否正在写入终端。

  • color_system 是一个字符串,包含 Console 颜色系统(见下文)。