首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【愚公系列】2023年10月 Python工具集合-Rich控制台打印

【愚公系列】2023年10月 Python工具集合-Rich控制台打印

作者头像
愚公搬代码
发布2025-06-02 13:41:39
发布2025-06-02 13:41:39
4150
举报
文章被收录于专栏:历史专栏历史专栏

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,阿里云专家博主,腾讯云优秀博主,掘金优秀博主,51CTO博客专家等。 🏆《近期荣誉》:2022年CSDN博客之星TOP2,2022年华为云十佳博主等。 🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。 🏆🎉欢迎 👍点赞✍评论⭐收藏

🚀前言

控制台打印美化是指在命令行窗口中输出内容时,通过一些技巧让输出结果更加易读、美观、有条理。这包括但不限于以下方法:

  1. 使用不同颜色的字体、背景色来突出信息,例如错误信息使用红色字体、成功信息使用绿色字体等。
  2. 使用表格、列表、树状结构等方式来呈现数据,使得数据有层次感、易于理解。
  3. 使用进度条、加载动画等方式来展示程序的运行状态,提高用户体验。
  4. 使用缩进、空行、分隔线等方式来将不同信息分组、划分,使得整个输出结果更加清晰。

控制台打印美化可以提高程序的可读性和易用性,同时也能够让用户获得更好的使用体验。

🚀一、Rich

Rich是一个Python库,用于在控制台中进行输出美化。Rich提供了许多功能,例如颜色输出、表格输出、进度条、装饰器等等,可以让程序输出更加美观、易读、易用。

Rich源码网站:https://github.com/Textualize/rich Rich文档:https://rich.readthedocs.io/en/latest/text.html

Python库Rich提供了丰富的表格展示功能,包括:

  1. 表格基本展示:可以通过rich.table.Tablerich.console.Console.print()方法展示表格,支持表头、行数据以及格式调整。
  2. 自定义表格格式:可以通过格式化字符串控制表格的样式,包括表格边框、对齐方式等。
  3. 表格排序:可以通过rich.table.Table.sort()方法对表格进行排序,支持单列排序和多列排序。
  4. 单元格样式:可以通过rich.table.Style指定单元格的样式,包括背景色、字体颜色、字体粗细等。
  5. 列宽调整:可以通过rich.table.Table.column_widths属性调整表格列的宽度,支持自适应和手动指定。
  6. 翻页展示:可以通过rich.table.Table.paginate()方法将表格分页展示,支持上下页、跳转等操作。
  7. Excel导出:可以通过rich.table.Table.to_excel()方法将表格数据导出为Excel文件。
  8. Markdown格式:可以通过rich.table.Table.to_markdown()方法将表格数据转换为Markdown格式,方便在文档中展示。

安装包

代码语言:javascript
复制
pip install rich

🔎1.颜色和样式的基本打印

🦋1.1 打印红色文本
代码语言:javascript
复制
from rich.console import Console

console = Console()

console.print("[bold red]Hello, World![/bold red]")
🦋1.2 打印绿色背景的文本
代码语言:javascript
复制
from rich.console import Console

console = Console()

console.print("[on green]Hello, World![/on green]")
🦋1.3 打印粗体的文本
代码语言:javascript
复制
from rich.console import Console

console = Console()

console.print("[bold]Hello, World![/bold]")
🦋1.4 打印斜体的文本
代码语言:javascript
复制
from rich.console import Console

console = Console()

console.print("[italic]Hello, World![/italic]")
🦋1.5 打印具有多个样式的文本
代码语言:javascript
复制
from rich.console import Console

console = Console()

console.print("[bold italic red on yellow]Hello, World![/bold italic red on yellow]")

🔎2.创建和显示表格

使用Rich库,可以很容易地创建和显示表格。

以下是一个简单的例子,展示如何使用Rich创建和显示一个表格:

代码语言:javascript
复制
from rich.console import Console
from rich.table import Table

# 创建一个表格对象
table = Table(title="My Table")

# 添加表头
table.add_column("Name")
table.add_column("Age")
table.add_column("Gender")

# 添加表格数据
table.add_row("Alice", "25", "Female")
table.add_row("Bob", "30", "Male")
table.add_row("Charlie", "40", "Male")
table.add_row("Eve", "35", "Female")

# 创建控制台对象,并输出表格
console = Console()
console.print(table)

我们首先导入了所需的Rich库中的组件:Console和Table。然后,我们创建了一个表格对象,并添加了表头和表格数据。最后,我们创建了一个控制台对象,并使用它来输出表格。

🔎3.显示进度条

使用Rich库显示一个进度条:

代码语言:javascript
复制
from rich.progress import Progress

with Progress() as progress:
    task = progress.add_task("[red]Downloading...", total=100)
    while not progress.finished:
        progress.update(task, advance=0.5)
        # 下载的进度更新,这里更新了一半

这段代码使用了 Progress 类来创建一个进度条,并使用 add_task 方法来添加一个任务。total 参数指定了任务总共需要完成的工作量。在 while 循环中,使用 update 方法来更新任务的进度。advance 参数指定了进度条前进的量,这里每次前进了 0.5progress.finished 表示所有任务都完成以后,进度条结束。

🔎4.渲染 Markdown

Rich是一个Python库,用于在终端中创建美观的文本UI,它支持渲染Markdown文本,并提供了许多样式和主题可供选择。

以下是一个简单的示例,演示如何使用Rich渲染Markdown:

代码语言:javascript
复制
from rich.console import Console
from rich.markdown import Markdown

console = Console()
markdown_text = "# Hello, Rich!\n\nThis is **bold** and this is *italic*."
markdown = Markdown(markdown_text)
console.print(markdown)

运行此脚本将在终端中显示渲染后的Markdown文本。

🔎5.增强的回溯

Rich还提供了一种增强的回溯方法,使得在调试代码时能够更好地显示和理解异常信息。

通过使用Rich的traceback模块,可以将回溯信息显示在一个美观的界面中,包括异常的类型、消息、位置和代码段。Rich的回溯还支持源代码的高亮显示和跳转到相关的源文件和行号。

以下是一个使用Rich回溯的示例:

代码语言:javascript
复制
from rich.traceback import install
install()

# Example error to showcase traceback
def demo_error():
    raise ValueError("This is a demonstration error")

demo_error()

可以看到,回溯信息被美化和高亮显示了,并包含有关异常的更多信息。代码段也被高亮显示,并且可以使用键盘快捷键Ctrl+Click跳转到相关行的源代码。


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🚀前言
  • 🚀一、Rich
    • 🔎1.颜色和样式的基本打印
      • 🦋1.1 打印红色文本
      • 🦋1.2 打印绿色背景的文本
      • 🦋1.3 打印粗体的文本
      • 🦋1.4 打印斜体的文本
      • 🦋1.5 打印具有多个样式的文本
    • 🔎2.创建和显示表格
    • 🔎3.显示进度条
    • 🔎4.渲染 Markdown
    • 🔎5.增强的回溯
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档