介绍

Full-Stack-python / 2023-09-13 / 原文

介绍

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

使用 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 的最快方法是导入替代函数,该函数采用与内置函数相同的参数,并可用作直接替换。以下是您将如何执行此操作:printprint

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 的内置打印,您可以导入为(例如):rich.printrprint

from rich import print as rprint

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

丰富的 REPL

Rich 可以安装在 REPL 中,以便 Python 数据结构自动打印并带有语法突出显示。方法如下:

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

您还可以使用此功能来试用丰富的可渲染对象。下面是一个示例:

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

请继续阅读以了解有关丰富可呈现对象的更多信息。

IPython扩展

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

In [1]: %load_ext rich

您还可以通过在 IPython 配置中的变量中添加“rich”来默认加载它。c.InteractiveShellApp.extension

丰富的检查

Rich 有一个函数,可以生成任何 Python 对象的报告。这是一个很棒的调试辅助工具,也是 Rich 可以生成的输出的一个很好的例子。下面是一个简单的示例:

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