引言

Rich是一个Python库,用于编写 rich 文本(带有颜色和样式)到终端,并用于显示高级内容,如表格、标记和语法突出显示的代码。

使用Rich使您的命令行应用程序在视觉上更具吸引力,并以更易读的方式显示数据。Rich还可以通过漂亮的打印和语法突出显示数据结构成为有用的调试辅助工具。

要求

Rich可以在MacOS、Linux和Windows上运行。

在Windows上,支持(旧的)cmd.exe终端和新的 Windows Terminal 。后者对颜色和样式的支持有了很大改进。

Rich需要使用Python3.7.0及更高版本。

备注

PyCharm用户需要在运行/调试配置中启用输出控制台选项中的“模拟终端”,才能查看样式化的输出。

安装

您可以使用以下命令从PYPI安装Rich pip 或您最喜欢的包管理器::

pip install rich

添加 -U 如果已安装Rich,则切换到更新到当前版本。

如果您打算将Rich与Jupyter一起使用,则可以使用以下命令安装一些其他依赖项:

pip install "rich[jupyter]"

快速启动

使用Rich启动和运行的最快方法是导入替代方案 print 函数,该函数接受与内置 print 并且可以用作插入式替代品。以下是如何做到这一点::

from rich import print

然后,您可以按常规方式将字符串或对象打印到终端。里奇会做一些基本的语法 highlighting 并格式化数据结构以使其更易于阅读。

字符串可以包含 控制台标记 它可用于在输出中插入颜色和样式。

下面演示了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的内置打印,则可以导入 rich.print AS rprint (例如):

from rich import print as rprint

继续阅读以了解Rich的更高级功能。

富足的REPL

Rich可以安装在REPL中,这样就可以自动打印出带有语法突出显示的Python数据结构。以下是如何::

>>> from rich import pretty
>>> pretty.install()
>>> ["Rich and pretty", True]

您也可以使用此功能来试用Rich renderables 。以下是一个示例:

>>> from rich.panel import Panel
>>> Panel.fit("[bold yellow]Hi, I'm a Panel", border_style="red")

请继续阅读以了解有关Rich Renderables的更多信息。

IPython扩展

Rich还包括一个IPython扩展,它将执行相同的漂亮安装+漂亮回溯。以下是如何加载它::

In [1]: %load_ext rich

您也可以在默认情况下通过添加 "rich" to the c.InteractiveShellApp.extension variable in IPython Configuration

富强考察

里奇有一个 inspect() 该函数可以生成关于任何Python对象的报告。这是一个非常棒的调试辅助工具,也是Rich可以生成的输出的一个很好的例子。下面是一个简单的例子::

>>> from rich import inspect
>>> from rich.color import Color
>>> color = Color.parse("red")
>>> inspect(color, methods=True)