在 Python 中,print 函数是我们用得最多的工具,但默认输出是不是有点单调?如果你想让终端输出既专业又好看,Rich 这个模块必须安排上。它不仅能格式化文本、打印表格、渲染 Markdown,还能生成炫酷的进度条和高颜值的日志信息。今天就带你用 Rich 装点 Python 输出,让代码一秒变高端。
安装 Rich
先得把 Rich 装上,不装就玩不转:
pip install rich
跑完这条命令,Rich 就算正式入伙了。接下来开始整活儿。
基础输出美化
Rich 的基础功能是格式化输出文字,比如让文字带点颜色、加点样式啥的。这很简单:
from rich import print
print("[bold red]这是一段红色加粗的文字[/bold red]")
print("[green]绿油油的输出,是不是很养眼?[/green]")
print("[underline]还能加下划线,文艺感十足![/underline]")
运行结果就是炫酷的彩色文字输出,效果直接拉满。
温馨提示:方括号 [ ]
是 Rich 的语法糖,别乱用到别的地方。
打印表格,数据更整齐
如果你需要打印一些表格数据,Rich 提供了超好用的 Table 功能:
from rich.table import Table
from rich import print
table = Table(title="Python 学习计划")
table.add_column("任务", style="cyan", justify="left")
table.add_column("状态", style="magenta", justify="center")
table.add_column("时间", style="green", justify="right")
table.add_row("变量和数据类型", "完成 ✅", "2小时")
table.add_row("函数", "进行中 🚧", "3小时")
table.add_row("类和对象", "未开始 ❌", "4小时")
print(table)
运行结果是整齐划一的表格,看起来一目了然,还带点颜值担当。
动态进度条,炫到飞起
写脚本时,有没有想过用炫酷的进度条装点一下?Rich 的 Progress 模块能帮你搞定:
from time import sleep
from rich.progress import Progress
with Progress() as progress:
task = progress.add_task("[cyan]正在下载...", total=100)
for step in range(100):
sleep(0.05)
progress.update(task, advance=1)
运行后就能看到动态进度条,配色清新又高级。用来模拟任务进程或者下载,效果绝对惊艳。
日志输出,优雅又实用
脚本中打印日志是常见需求,Rich 的 Logger 让日志既有条理又有颜值:
from rich.logging import RichHandler
import logging
logging.basicConfig(
level=logging.INFO,
format="%(message)s",
handlers=[RichHandler()]
)
log = logging.getLogger("rich_logger")
log.info("普通的信息日志")
log.warning("有点警告的意思")
log.error("这是一条错误日志")
运行后,日志信息会带上颜色和时间戳,看起来就很专业。
渲染 Markdown 和代码
想要把 Markdown 或代码格式化输出?Rich 同样不在话下:
from rich.console import Console
console = Console()
markdown = """
# Python 的三大优点
- 简单易学
- 功能强大
- 社区活跃
"""
console.print(markdown, style="bold yellow")
Markdown 会被高亮显示,效果和 VS Code 渲染的差不多,直接复制粘贴都行。
小贴士:别滥用美化
Rich 的确好用,但别因为它美就乱加。比如控制台太花哨可能影响阅读。记住:合适的才是最好的。
今天折腾了一波 Rich,你应该学会了彩色文字、表格、进度条、日志这些玩法。Rich 的功能远不止这些,像高亮 JSON、渲染树状结构啥的也很炫酷,自己可以慢慢探索。Python 脚本颜值在线,心情也会变得更美好!
彩蛋时间
走过路过不要错过,为大家准备了一份pycharm破解工具,感兴趣的朋友可以看看哈:最新pycharm破解
评论区