Python-rich-库基本使用

rich Github 仓库地址
rich 官网文档
rich 中文文档

介绍

Rich 是一个在终端输出 beautiful formatting 的库.

安装

1
pip install rich

之后可用:

1
python -m rich

来验证.

基本使用

格式化 print

1
2
3
from rich import print

print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
  • [xxx][/xxx] 标签来包裹要渲染的文本
  • :vampire:rich 库预定义的一些表情符号和修饰符
  • locals() 是一个内置函数, 返回当前局部作用域中的变量及其值的字典

这里给出一些预定义的符号:

  • :smile: 😊
  • :heart: ❤️
  • :thumbs_up: 👍
  • :fire: 🔥
  • :sparkless:
  • :check_mark: ✔️
  • :star:
  • :ghost: 👻
  • :cat: 🐱

在交互式页面使用 Rich

可以将 rich 安装到 Python 交互式命令行中, 之后, 任何数据结构的打印都会自带语法高亮:

1
2
3
4
$ python
>>> from rich import pretty
>>> pretty.install()
>>> locals()

Console 对象

Console 对象用于提供更丰富的终端输出. 可以用其内置的 print 函数来设置样式, 如:

1
2
3
4
5
from rich.console import Console

console = Console()

console.print("Hello", "World!", style="bold red")

也可用标记渲染:

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

打印数据结构详细信息

rich 提供的 inspect 函数, 如:

1
2
3
4
from rich import inspect

my_list = ["foo", "bar"]
inspect(my_list, methods=True)

输出图表

1
2
3
4
5
6
7
8
9
10
11
12
13
from rich.console import Console
from rich.table import Table

console = Console()
table = Table(show_header=True, header_style="bold magenta")
table.add_column("Name")
table.add_column("Age", justify="right")
table.add_column("City")

table.add_row("Alice", "30", "New York")
table.add_row("Bob", "25", "Los Angeles")

console.print(table)

rich 搭配 logging 库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from rich.logging import RichHandler
import logging

# 配置日志记录
logging.basicConfig(
level=logging.INFO,
format="%(message)s",
datefmt="[%X]",
handlers=[RichHandler()]
)

# 创建日志记录器
logger = logging.getLogger("rich")

# 输出不同级别的日志信息
logger.debug("This is a debug message")
logger.info("This is an info message")
logger.warning("This is a warning message")
logger.error("This is an error message")
logger.critical("This is a critical message")

Python-rich-库基本使用
http://example.com/2024/09/13/Python-rich-库基本使用/
作者
Jie
发布于
2024年9月13日
许可协议