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

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


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中threading线程模块

一个进程就是一个正在执行的程序,每一个进程都有自己独立的一块内存空间、一组系统资源。在进程的概念中,每一个进程的内部数据和状态都是完全独立的。在一个进程中可以包含多个线程,多个线程共享一块内存空间和一...

Python基础-Python面向对象编程

面向对象编程(Object-Oriented Programming),OOP是一种编程范式,是将程序的数据对象和操作方法组织成一些相互关联的对象,通过这些对象来模拟现实世界的实体和行为。通过面向对象...