你是否在学习 Python 的时候,,每天看着控制台黑白配色的输出内容感到枯燥无味,也会因为一大堆输出内容看的眼花缭乱,尤其是多线程日志输出的情况下?没关系,本文将带你使用彩色内容输出,让控制台不再单调乏味、从而使内容不再凌乱,清晰可辨。并且封装成一个自定义输出工具,方便后续使用。
以下是实际运行效果:
print("\033[3;31;40m这是 红色 斜体 黑色 背景\033[0m")
print("\033[1;30;43m这是 红色 加粗 黄色 背景\033[0m")
print("\033[1;36;40m这是 青色 加粗 黑色 背景\033[0m")
运行效果
如何彩色输出上边的代码虽然看着内容较多, 且看着杂乱难以记忆, 但只要细细梳理一下,就可以清晰的看出整体结构其实非常容易明白。彩色输出标识分为以下几部分:
彩色输出格式
\033[ : 代表开始使用样式,固定格式,不能修改
3;31;40 :样式及颜色表示,颜色表示一共 3 个部分,第一个表示字体样式,第二个数字表示字体颜色,第三个表示背景色。其中背景色可以不写,则默认没有背景色。(数值见下表)
m:颜色设置结束标识,固定内容,不可替换
\033[0m:重置控制台属性。重置后,后续内容将使用默认输出。如不写重置标识,则后续内容延续前边属性设置。效果如下图:
不重置就会延续
颜色样式表
文字样式 | 文字颜色 | 背景色 |
0 无效果 | 黑色 30 | 黑色 40 |
1 加粗 | 红色 31 | 红色 41 |
2 下划线 | 绿色 32 | 绿色 42 |
3 斜体 | 黄色 33 | 黄色 43 |
蓝色 34 | 蓝色 44 | |
紫色 35 | 紫色 45 | |
蓝绿色 36 | 蓝绿色 46 | |
白色 37 | 白色 47 |
内容虽然简单易懂,但是每次都要重新写还是会让人崩溃,以下是一个可参考封装案例,可以作为参考。
我们常会看到一些包或框架,日志按不同输出等级输出不同颜色的内容,我们也来做一个简易的功能
# 使用变量定义固定内容
err_info = "[\033[1;31m 异常 \033[0m]"
war_info = "[\033[1;33m 警告 \033[0m]"
ok_info = "[\033[1;32m 正常 \033[0m]"
# 打印查看效果
print(f"{err_info}, 发生了错误!!!")
print(f"{war_info}, 有警告信息!!!")
print(f"{ok_info}, 正常日志")
彩色日志
重新封装成函数,屏蔽具体代码
# 封装成函数
def print_err(msg):
err_info = "[\033[1;31m 异常 \033[0m]"
print(f"{err_info}, {msg}")
# 调用使用
print_err("又发生异常了,快检查!!!!")