一、学前花絮
我们已经学习了很多python语言的知识、技能,也有很多的示例。人是感官的动物,对于python输出来说,也是很重要的一部分。
我们之前侧重于功能实现,按照默认的黑白模式输出结果。今天我们学习一下python关于输出美化方面的知识。让我们的输出更漂亮、更专业。
二、Python的输出美化种类及示例
2.1 Python 控制台输出美化模块对比
Python 中有多个用于美化控制台输出的模块,它们提供了比直接使用 ANSI 转义序列(如 \033[31m)更友好的 API。下面我将对比几个主流模块:
模块名称 | 特点 | 优点 | 缺点 | 适用场景 |
Colorama | 跨平台颜色支持 | 简单易用 , 自动处理 Windows兼容性 | 功能相对基础 | 简单的彩色文本输出 |
Termcolor | 简洁的颜色输出 | 非常轻量 ,API 直观 | 仅支持颜色 ,无样式控制 | 快速添加颜色 |
Rich | 功能全面的高级库 | 支持表格、进度条、Markdown、语法高亮等 | 体积较大 ,学习曲线稍陡 | 复杂控制台应用 |
Colored | 轻量级颜色库 | 简单易用 ,支持多种颜色格式 | 功能有限 | 基本颜色需求 |
Blessings | 高级终端处理 | 强大的终端检测和控制能力 | API 较复杂 | 需要精细控制终端的应用 |
示例代码对比
1. 使用 ANSI 转义序列(原生方式)

输出如下:

我们可以看到python的原生方法是通过ANSI转义的字符实现颜色变化,比如“\033[1;31m”代表红色。这种输出的好处是不需要安装额外的模块,但不好的方面也很明显,简直是反人类的标识符,无法记住,而且写法怪异。
针对ANSI方式的改进:把那些难以记忆的标识符事先存储成变量:

输出如下:

这种方式的好处是不借用第三方模块,而且解决了难以记忆的标识符问题。但缺点仍然存在,只适合简单的颜色输出场景,无法实现复杂的比如table表格式输出等。
2. 使用 Colorama

以上代码用到colorama模块,这比ANSI方法要人性化一点了,比如红色就是RED,相对好一点了。输出如下:

3. 使用 Termcolor

输出同上。
4. 使用 Rich(功能最强大)
输出如下:

我们看到以上输出,感受到rich模块比较强大了,有table表格也有进度条和markdown文本。
5. 使用 Colored

输出如下:

推荐选择
l简单彩色输出:使用 Colorama(跨平台兼容性好)或 Termcolor(更简洁)
l复杂控制台应用:使用 Rich(功能最全面)
l轻量级需求:使用 Colored
对于大多数应用场景,Rich是最佳选择,因为它提供了最全面的功能集;而对于简单需求,Colorama或 Termcolor就足够了。
之前也提到了blessings模块,但因为我安装python版本是3.14太新了,对于这个模块的支持与windows系统相关,测试未成功。有兴趣的朋友可以继续测试,下面是测试代码:

三、小结
今天的文章是学习python的输出美化方法,我们看到正是因为python社区的强大,贡献了很多模块用于美化输出。而python内置的ANSI转义方式也可以通过事先定义颜色变量来解决。但对于复杂的输出,最优方式是用Rich模块。
让我们保持学习的热情,2026年一马当先!