Rich:Python开发者的完美终端库

liftword7个月前 (12-12)技术文章75


Rich 是一个 Python 库,可以在终端中提供富文本和精美格式。


Rich 的 API 让在终端输出颜色和样式变得很简单。此外,Rich 还可以绘制漂亮的表格、进度条、markdown、语法高亮的源代码以及栈回溯信息(tracebacks)等——开箱即用。



Rich 适用于 Linux,OSX 和 Windows。真彩色/表情符号可与新的 Windows 终端一起使用,Windows 的经典终端仅限 8 种颜色。


Rich 还可以与 Jupyter 笔记本一起使用,而无需其他配置。


一、安装rich库

安装命令:pip install rich


安装完成之后,可以查看rick库信息:

pip show rich
Name: rich
Version: 13.7.0
Summary: Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal
Home-page: https://github.com/Textualize/rich
Author: Will McGugan
Author-email: willmcgugan@gmail.com
License: MIT
Location: /Users/rickie/opt/anaconda3/envs/p312-env/lib/python3.12/site-packages
Requires: markdown-it-py, pygments
Required-by: open-interpreter, semgrep


下面开始一些简单的开发示例。


二、使用控制台

想要对 Rich 终端内容进行更多控制,可以导入并构造一个控制台对象。


# 导入 rich 库中的 Console 类
from rich.console import Console

# 创建一个 Console 实例
console = Console()

# 使用默认样式打印 "Hello" 和 "World!"
console.print("Hello", "World!")

# 使用 "bold red" 样式打印 "Hello" 和 "World!"
console.print("Hello", "World!", style="bold red")




上述这段代码的主要功能是:

  • 导入 rich 库中的 Console 类。
  • 创建一个 Console 实例。
  • 使用默认样式和指定样式分别打印 "Hello" 和 "World!"。


如果想获得更细腻更复杂的样式,Rich 可以渲染一个特殊的标记,其语法类似于bbcode。示例如下:

console.print("Where there is a [bold cyan]Will[/bold cyan] there [u]is[/u] a [i]way[/i].")





三、Rich 的打印功能

下面这段代码的主要功能是:

  • 导入 rich 库中的 print 函数。
  • 使用 rich 库中的 print 函数打印一条带有样式的消息,并附加一个表情符号和局部变量信息。


# 导入 rich 库中的 print 函数
from rich import print

# 使用 rich 库中的 print 函数打印消息
# 使用 [bold magenta] 和 [/bold magenta] 标签来设置文本样式
# 并附加一个表情符号和 locals() 信息
print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())


其中,locals() 函数的主要功能是:

  • 返回当前作用域内的所有局部变量及其值的字典。
  • 可以用于调试、动态生成代码等场景。


#秋日生活打卡季#

相关文章

Python+PyQt架构:如何调用多个设计师窗口界面文件示例

引言Qt是C++语言下广泛使用的一种跨平台的程序界面设计库,而PyQt是其在Python语言下的绑定,这为在Python语言下编写GUI界面程序提供了极大的便利。对于界面程序的设计,可以使用代码构建,...

详细Python中元组的使用?

在Python中,元组(tuple) 是一种用于存储多个项目的有序、不可变的数据结构。元组和列表非常相似,不同的是元组是不可变的,也就是说元组一旦创建,元素的值就不能被更改。下面我们就来详细的介绍Py...