【导语】:Rich 是一个能够在终端中提供富文本和精美格局的 Python 库。反对中文,终端爱好者能够试一下。

简介

明天给大家介绍的 Rich ,曾经间断两天登上 GitHub 日榜,在 GitHub 快拿下 1.5 万 Star。它的开发者是国外开发小哥 Will McGugan。

Rich 的 API 相当丰盛,能够很轻松地给终端输入增加各种色彩和不同格调。

它还能够绘制丑陋的表格、进度条、markdown、代码高亮等。

我的项目主页

https://github.com/willmcguga...

性能一览

兼容性

Rich 反对三大平台 Linux、OSX 和 Windows。真彩色/表情符号可与新的 Windows 终端一起应用,Windows 的经典终端仅限 8 种颜色。Rich 要求 Python 版本最低 v 3.6.1。能够与Jupyter 笔记本一起应用,而无需其余配置。

装置阐明

应用pip或其余 PyPi 软件包管理器进行装置。

pip install rich

Rich 的打印性能

只需导入 rich 打印办法,就能够想毫不费力地把 Rich 的输入性能增加到应用程序中。该办法和其余 Python 的自带性能的参数相似。

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

应用控制台

想要对 Rich 终端内容进行更多管制,间接导入并结构一个控制台对象。

from rich.console import Consoleconsole = Console()

Console 对象含有一个print 办法,其界面与 python 内置的print性能界面类似。您能够试试:

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

这时终端上会显示“ Hello World!”。

请留神,与内置的“打印”性能不同,Rich 会将文字主动换行以适宜终端宽度。

有几种办法能够为输入增加色彩和款式。增加style关键字参数来为整个输入设置款式。例子如下:

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

输入如下图:

表情符号

将名称放在两个冒号之间,即可在控制台输入中插入表情符号。

>>> console.print(":smiley: :vampire: :pile_of_poo: :thumbs_up: :raccoon:")    from rich.progress import trackfor step in track(range(100)):    do_step(step)from rich.progress import trackfor step in track(range(100)):    do_step(step)

(注:Rich 的开发者揭示这个性能慎用。)

表格

Rich 能够应用 Unicode 框字符来出现多变的表格。Rich 蕴含多种边框、款式、单元格对齐等格局设置的选项。

请看上面示例:

from rich.console import Consolefrom rich.table import Column, Tableconsole = Console()table = Table(show_header=True, header_style="bold magenta")table.add_column("Date", style="dim", width=12)table.add_column("Title")table.add_column("Production Budget", justify="right")table.add_column("Box Office", justify="right")table.add_row(    "Dev 20, 2019", "Star Wars: The Rise of Skywalker", "$275,000,000", "$375,126,118")table.add_row(    "May 25, 2018",    "[red]Solo[/red]: A Star Wars Story",    "$275,000,000",    "$393,151,347",)table.add_row(    "Dec 15, 2017",    "Star Wars Ep. VIII: The Last Jedi",    "$262,000,000",    "[bold]$1,332,539,889[/bold]",)console.print(table)

示例输入如下:

进度条

Rich 能够渲染多个不闪动的进度条形图,用来跟踪长时间运行的工作。

用法:用track函数调用任何程序并迭代后果。

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

还反对增加多个进度条。

.gif)
.gif)

Markdown

Rich 能够出现 markdown,并可相当不错的将其格局转移到终端。

from rich.console import Consolefrom rich.markdown import Markdownconsole = Console()with open("README.md") as readme:    markdown = Markdown(readme.read())console.print(markdown)

样例输入如下图:

结语

Rich 简略介绍就到这里了,喜爱的童鞋还能够看一下视频介绍,请见:

https://calmcode.io/rich/intr...

更具体介绍,请见我的项目主页:

https://github.com/willmcguga...

开源前哨 日常分享热门、乏味和实用的开源我的项目。参加保护 10万+ Star 的开源技术资源库,包含:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。