arch终端添加中文支持_1.5 万 Star!大大提升终端体验的好工具:Rich

967af57ccd6ab8f5a6d08ba38d7ce4f0.gif

【导语】:Rich 是一个可以在终端中提供富文本和精美格式的 Python 库。支持中文,终端爱好者可以试一下。

简介

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

Rich 的 API 相当丰富,可以很轻松地给终端输出添加各种颜色和不同风格。

它还可以绘制漂亮的表格、进度条、markdown、代码高亮等。

项目主页

https://github.com/willmcgugan/rich

功能一览

5e192a4922aeb90024306da8a856b38c.png

兼容性

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())

721d6ac96fa2f3590720157676803e85.png

使用控制台

想要对 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")

输出如下图:

c306a9501bfece335022e94b17df215a.png

表情符号

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

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

注: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)

示例输出如下:

84de2d1855aa2e276cac0693501e2d50.png

进度条

Rich 可以渲染多个不闪烁的进度条形图,用来跟踪长时间运行的任务。

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

from rich.progress import track

for step in track(range(100)):
    do_step(step)

还支持添加多个进度条。

9b66b518a19529c739359f8946988f93.png

b6dc4871b2068339bd6dab4b93121cb4.png

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)

样例输出如下图:

e0d5e4f09d916f5035f0f87196e59301.png

该文转载于:

1.5 万 Star!大大提升终端体验的好工具:Rich (qq.com)​mp.weixin.qq.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值