【导语】: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 等。