【导语】: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 print
print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
应用控制台
想要对 Rich 终端内容进行更多管制,间接导入并结构一个控制台对象。
from rich.console import Console
console = 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 track
for step in track(range(100)):
do_step(step)from rich.progress import track
for step in track(range(100)):
do_step(step)
(注:Rich 的开发者揭示这个性能慎用。)
表格
Rich 能够应用 Unicode 框字符来出现多变的表格。Rich 蕴含多种边框、款式、单元格对齐等格局设置的选项。
请看上面示例:
from rich.console import Console
from rich.table import Column, Table
console = 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 track
for step in track(range(100)):
do_step(step)
还反对增加多个进度条。
.gif)
.gif)
Markdown
Rich 能够出现 markdown,并可相当不错的将其格局转移到终端。
from rich.console import Console
from rich.markdown import Markdown
console = 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 等。