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

liftword5个月前 (12-12)技术文章55


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() 函数的主要功能是:

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


#秋日生活打卡季#

相关文章

产品经理要理解的架构图(结构图)

产品经理在工作过程中会遇到各种结构图(结构图),这些名词很容易混淆。一般情况下,3-5年经验,善于总结归纳的产品经理才能逐步理解这些概念的含义,并且相对灵活的运用到工作中。下面针对这些概念来系统地梳理...

超级实用 Python GUI 入门

有时候使用 python 做自动化运维操作,开发一个简单的应用程序非常方便。程序写好,每次都要通过命令行运行 python 程序,就不是那么人性化了。为了更方便的操作,使用 Python GUI 编写...

使用vscode配置Python开发环境

vscode是一个相当优秀的 IDE ,具备开源、跨平台、模块化、插件丰富、启动时间快、颜值高、可高度定制等等优秀的特质,最近几年流行度也是越来越高。今天来跟大家分享下在 vscode 下配置和使用...

深入探索Scrapy框架:Python爬虫的强大工具

Scrapy被认为是在Python的爬虫开发生态中最强大、最流行的框架之一,它提供了简洁而高效的方式从网站提取数据,并且支持数据处理、存储以及任务调度等功能。可以用来做数据采集、信息抓取以及大规模的网...

Python+PyQt架构:实现一个简单的小工具之颜色拾取器

对于基于Python+PyQt的框架结构的程序开发,前面已经讲了很多小例子了,有兴趣的小伙伴们可以翻看下前面的文章。总体来说,实现相同的功能,相比于其它如C/C++等编程语言,确实简单太多了。下面,再...