Update avaliable. Click RELOAD to update.
目录

如何使用 Python rich 库让你的终端输出更加丰富多彩

python_rich.webp

Python 的 rich 库是一个用于在终端中创建富文本和美观格式的库。它可以用来打印彩色文本、表格、进度条等,使得命令行界面更加生动和用户友好。

以下是如何安装和使用 rich 库的一些基础示例。

1. 使用 pip 安装

$ pip install rich

确保你的 Python 版本至少是 3.6.1,这是 rich 库所要求的最低版本

2. 基本使用

下面列出基本常规的使用案例,rich 功能不局限于此,更多如渲染 markdowntree 或 输出代码语法高亮等功能,可参考 官方文档

2.1. 打印彩色文本

from rich import print

print("[bold red]Hello[/bold red], [green]World![/green]")

python_rich_color_text.webp

这个功能类似于 shell 中定义颜色文本输出,可参看 Shell技巧#终端使用色彩字体

2.2. 创建表格

酷炫的功能,终端可以使用表格展示数据,实用性很强

from rich.table import Table
from rich.console import Console

console = Console()

table = Table(show_header=True, header_style="bold blue")
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("Dec 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", "$1,332,539,889")

console.print(table)

python_rich_table.webp

2.3. 进度条示例

from rich.progress import Progress
import time

with Progress() as progress:
    task1 = progress.add_task("[red]Downloading...", total=1000)
    task2 = progress.add_task("[green]Processing...", total=1000)
    task3 = progress.add_task("[cyan]Cooking...", total=1000)

    while not progress.finished:
        progress.update(task1, advance=5)
        progress.update(task2, advance=3)
        progress.update(task3, advance=9)
        time.sleep(0.02)  # 代表实际工作的代码

python_rich_progress.gif

2.4. 使用日志记录

from rich.logging import RichHandler
import logging

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

logger = logging.getLogger("rich")

logger.info("这是一条信息日志")
logger.warning("警告!存在潜在问题")
logger.error("这是一条错误日志")

python_rich_log.webp

3. Rich cli

Rich 从 python 库引申了终端的 rich-cli 工具,安装(brew install rich)好可以直接在 shell 终端使用,几个比较使用的功能

$ rich README.md
$ rich data.json
$ rich notebook.ipynb
$ rich loop.py

Reference

版权所有,本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可。转载请注明出处:https://www.wangjun.dev//2024/04/how-to-use-python-rich/