丰富的终端输出
使用 rich 设置 CLI 输出样式
丰富的终端输出 是 CoddyKit 上的免费 Python Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Python Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Python Academy 课程共包含 4 节课。
什么是 rich?
rich是一个用于美化终端输出的第三方库,支持颜色、样式、表格、进度条等功能。请使用 pip install rich安装。
from rich import print
print('Hello, [bold magenta]world[/bold magenta]!')Console 对象
核心类是 Console。它的 print方法能够理解样式标记,并处理换行和颜色检测。
from rich.console import Console
console = Console()
console.print('Styled output here')
样式标记
rich 使用 [bold]、[red]、[italic]这类方括号标记为行内文本片段设置样式,并使用匹配的标签闭合。
from rich.console import Console
console = Console()
console.print('[bold red]Error:[/bold red] something failed')
console.print('[green]Success[/green]')
样式参数
除了使用标记,还可以传入 style参数,为整行文本应用样式。
from rich.console import Console
console = Console()
console.print('Important notice', style='bold yellow on blue')
表格
Table类可以渲染整洁的带边框表格。先添加列,再添加行,最后输出表格。
from rich.console import Console
from rich.table import Table
table = Table(title='Users')
table.add_column('Name')
table.add_column('Age')
table.add_row('Ana', '30')
table.add_row('Bob', '25')
Console().print(table)
面板
Panel会在内容周围绘制边框,适合突出显示消息或将输出分组。
from rich.console import Console
from rich.panel import Panel
Console().print(Panel('All systems go', title='Status'))
进度条
rich 可以显示实时进度条。track()会包装任意可迭代对象,并在对象被处理时显示进度。
from rich.progress import track
import time
for _ in track(range(5), description='Working'):
time.sleep(0.1)
美观地输出数据
console.print会以语法高亮和缩进的形式渲染字典和列表,比普通的 print清晰得多。
from rich.console import Console
data = {'name': 'Ana', 'roles': ['admin', 'user'], 'active': True}
Console().print(data)
日志记录与回溯信息
rich 通过 rich.traceback.install()和日志处理器提供更美观的回溯信息,让错误输出更易于阅读。
from rich.traceback import install
install()
# Now uncaught exceptions print with rich, colorized formatting
分隔线与布局
console.rule()会绘制一条带可选标题的水平分隔线,非常适合为较长的输出划分区域。
from rich.console import Console
console = Console()
console.rule('[bold]Report[/bold]')
console.print('section content')
将 rich 与 Click 结合使用
rich 与 Click 配合得很好:Click 负责组织命令,rich 负责设置输出样式,从而构建出精致、专业的 CLI。
import click
from rich.console import Console
console = Console()
@click.command()
@click.argument('name')
def hello(name):
console.print('Hello [bold]' + name + '[/bold]!')
快速检查
测试您对 rich 的理解。
回顾
您学会了美化 rich 终端输出:
Console可以使用方括号样式标记和style参数进行输出。Table、Panel和rule用于组织输出;track用于显示进度。- rich 可以美观地输出数据并改进回溯信息的显示。
- 它是一个与 Click 配合良好的外部库。
您已经完成了 CLI 工具课程!
常见问题解答
「丰富的终端输出」课时是免费的吗?
是的 — 「丰富的终端输出」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Python Academy 课程的其余内容,请升级到 CoddyKit PRO。 Python Academy 课程共包含 4 节课。
「丰富的终端输出」这节课中我会学到什么?
使用 rich 设置 CLI 输出样式 你通过在浏览器中直接运行的动手代码来练习 Python Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Python Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Python Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「丰富的终端输出」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Python Academy 课中编写并运行代码吗?
能。每节 Python Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- argparse 基础
- 子命令与选项
- Click 库
- 丰富的终端输出