目录:
rich 模块专为在终端中输出富文本和精美格式而设计,通过简单的 API 为命令行应用程序添加颜色、样式、表格、进度条、Markdown 渲染、语法高亮等丰富的视觉效果,极大地提升了终端输出的可读性和美观度。
$ pip3 install rich
安装后,可以通过运行 python -m rich 来快速预览其丰富的功能。
颜色不仅可以用英文单词(如 red, blue)指定,还支持 256 色索引 color(n)、十六进制色值以及 RGB 格式。
样式可以组合使用,例如 style=”bold white on blue” 表示蓝色背景上的白色粗体字。
from rich.console import Console
console = Console()
console.print("Hello", "World!", style="bold red")
还可以通过 [red]…[/red] 这样的标记语法在字符串内部对特定部分应用样式
from rich.console import Console
console = Console()
console.print("[blue underline]Looks [red]like[/red] a link")
可以绘制美观的表格,支持自动调整列宽、多种边框样式和单元格对齐方式。
from rich.table import Table
from rich.console import Console
table = Table(title="示例表格", show_header=True, header_style="bold magenta")
table.add_column("日期", style="dim", width=12)
table.add_column("标题", style="cyan")
table.add_column("金额", justify="right", style="green")
table.add_row("2023-01-01", "项目收入", "$1,000")
console = Console()
console.print(table)
对于长时间运行的任务,Rich 提供了优雅的进度条支持,可以跟踪多任务进度。
from rich.progress import track, Progress
import time
# 单任务进度条
for i in track(range(100), description="处理中..."):
time.sleep(0.05)
# 多任务进度条
with Progress() as progress:
task1 = progress.add_task("[red]下载...", total=100)
task2 = progress.add_task("[green]处理...", total=100)
while not progress.finished:
progress.update(task1, advance=0.9)
progress.update(task2, advance=0.5)
time.sleep(0.02)
Rich 可以直接在终端中渲染 Markdown 文档,这对于展示文档非常有用。
from rich.console import Console
from rich.markdown import Markdown
console = Console()
markdown_text = "# 标题\n这是一段**加粗**文字。"
console.print(Markdown(markdown_text))
Rich 可以对代码进行语法高亮,这对于调试代码非常有用。
from rich.console import Console
from rich.syntax import Syntax
console = Console()
python_code = 'print("Hello World")'
console.print(Syntax(python_code, "python", theme="monokai"))
↶ 返回首页 ↶