当前位置:首页>python>python学习【142】-Python控制台输出太丑?这5个库让你秒变美化大师

python学习【142】-Python控制台输出太丑?这5个库让你秒变美化大师

  • 2026-10-01 01:03:32
python学习【142】-Python控制台输出太丑?这5个库让你秒变美化大师

一、学前花絮

我们已经学习了很多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年一马当先!

最新文章

随机文章