龙空技术网

Rich - 终端富文本显示的Python库

每日开源代码 263

前言:

目前我们对“python高亮输出”都比较注重,你们都想要知道一些“python高亮输出”的相关资讯。那么小编同时在网络上网罗了一些关于“python高亮输出””的相关内容,希望各位老铁们能喜欢,看官们一起来了解一下吧!

受够了枯燥无味的黑底白字的终端窗口了吗?来看一看这个Python库Rich吧!

简介

Rich,是在Github上willmcgugan开源的Python库, 代码项目在 ,可以在终端进行富文本的显示,支持输出包括不同颜色和样式的文字、表格、进度条、Markdown和语法高亮的源代码等,支持跨平台。

安装

Rich需要 Python3.6.1 及以上,使用pip安装:

pip install rich
示例

首先来看一个简单的示例:

from rich import printprint("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())

Rich的print示例

Rich使用了与Python内置函数print同样的用法,但输出了带有样式的富文本。首先是一个粗体紫色的World文本,然后是一个吸血鬼的颜文字,最后是内置locals函数输出的字典。

其中,World文本的样式设置使用了Rich特有的一种标记符号,更为详细的可以参考文档。

如果你想要更为丰富的功能,可以使用Rich提供的Console类:

from rich.console import Consoleconsole = Console()

Console同样支持print函数:

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

Rich的Console输出

可以看到print函数多了style参数,更为直观地输出了粗体红色的Hello World文本。

颜文字

Rich支持颜文字的输出,使用时在颜文字名字左右加上冒号即可:

console.print(":smiley: :vampire: :pile_of_poo: :thumbs_up: :raccoon:")

Rich颜文字渲染

表格

Rich还支持在终端渲染表格。使用Rich的Table类和Column类,定义表格后即可输出美观的表格:

table = Table(show_header=True, header_style="bold magenta")table.add_column("Date", style="dim", width=12)...table.add_row(    "Dev 20, 2019", "Star Wars: The Rise of Skywalker", "$275,000,000", "$375,126,118")...console.print(table)

Rich渲染表格

更多

Rich还支持对于进度条、Markdown、代码语法高亮和代码异常的渲染输出。

from rich.progress import trackfor step in track(range(100)):    do_step(step)

Rich渲染进度条

syntax = Syntax(my_code, "python", theme="monokai", line_numbers=True)console.print(syntax)

Rich渲染代码语法高亮

try:    do_something()except:    console.print_exception()

Rich渲染代码异常traceback

总结

Rich为Python开发者提供了跨平台的终端富文本输出渲染,可以为需要终端输出信息的程序提供更为美观实用的输出。

Rich使用方便,用途广泛。表格渲染可以用于统计信息的输出,语法高亮输出方便了代码抛出异常时的处理,进度条则可以为许多库提供更为美观的进度显示。

Rich功能强大,提供了各种各样的富文本输出,以及丰富的自定义配置,同时具备详细的文档可供参考。

Rich目前正处在活跃的开发阶段,许多的开发者正为其贡献代码,有兴趣的开发者可以参与开源贡献。

标签: #python高亮输出