简介¶
Rich 是一个 Python 库,用于向终端写入富文本(带颜色和样式),以及显示高级内容,例如表格、Markdown 和语法高亮代码。
使用 Rich 使您的命令行应用程序在视觉上更具吸引力,并以更易读的方式呈现数据。Rich 还可以通过漂亮打印和语法高亮数据结构来用作有用的调试工具。
需求¶
Rich 与 macOS、Linux 和 Windows 兼容。
在 Windows 上,支持(古老的)cmd.exe 终端和新的Windows 终端。后者对颜色和样式的支持有了很大的改进。
Rich 需要 Python 3.7.0 及更高版本。
注意
PyCharm 用户需要在运行/调试配置的输出控制台选项中启用“模拟终端”才能看到样式化输出。
安装¶
您可以使用 pip 或您喜欢的包管理器从 PyPI 安装 Rich
pip install rich
如果 Rich 已经安装,请添加 -U
开关以更新到当前版本。
如果您打算将 Rich 与 Jupyter 一起使用,那么有一些额外的依赖项,您可以使用以下命令安装它们
pip install "rich[jupyter]"
快速入门¶
使用 Rich 最快的方法是导入替代的 print
函数,它采用与内置 print
相同的参数,可以用作它的直接替换。以下是您将如何做到这一点
from rich import print
然后您可以像往常一样将字符串或对象打印到终端。Rich 将执行一些基本的语法 高亮显示 并格式化数据结构以使它们更易于阅读。
字符串可能包含 控制台标记,可用于在输出中插入颜色和样式。
以下演示了控制台标记和 Python 对象的漂亮格式
>>> print("[italic red]Hello[/italic red] World!", locals())
这将以下输出写入终端(包括所有颜色和样式)
Hello World! { '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__doc__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': '__main__', '__package__': None, '__spec__': None, 'print': <function print at 0x1027fd4c0>, }
如果您不想覆盖 Python 的内置 print,您可以将 rich.print
导入为 rprint
(例如)
from rich import print as rprint
继续阅读以了解 Rich 的更高级功能。
REPL 中的 Rich¶
Rich 可以安装在 REPL 中,以便 Python 数据结构会自动使用语法高亮进行漂亮打印。以下是方法
>>> from rich import pretty
>>> pretty.install()
>>> ["Rich and pretty", True]
您也可以使用此功能来尝试 Rich 可渲染对象。以下是一个示例
>>> from rich.panel import Panel
>>> Panel.fit("[bold yellow]Hi, I'm a Panel", border_style="red")
继续阅读以了解更多关于 Rich 可渲染对象的信息。
IPython 扩展¶
Rich 还包含一个 IPython 扩展,它将执行相同的漂亮安装 + 漂亮回溯。以下是加载它的方法
In [1]: %load_ext rich
您还可以通过在 IPython 配置 中的 c.InteractiveShellApp.extension
变量中添加 “rich” 来使其默认加载。
Rich Inspect¶
Rich 有一个 inspect()
函数,它可以生成任何 Python 对象的报告。这是一个非常棒的调试工具,也是 Rich 可以生成的输出的良好示例。这是一个简单的示例
>>> from rich import inspect
>>> from rich.color import Color
>>> color = Color.parse("red")
>>> inspect(color, methods=True)