白日依山尽,黄河入海流。欲穷千里目,更上一层楼。 -- 唐·王之涣

Python 颜色控制colorama

前置

之前在Linux下shell编程的时候,为了控制报错和告警等信息显示不同的颜色示警,使用终端颜色控制,例如如下所示

'\033[4;31;47m 带下划线的白色背景红色提示\033[0m'

效果如下

shell-terminal-color-control


在Python应用颜色控制的时候,开始也是用的shell条用方式,比如 print('\033[4;31;47m 带下划线的白色背景红色提示\033[0m')
后来想着自己写一套这样的公共类,又怕重复造轮子,网上找了找发现已经有线程的,那就哪来使用

安装

pip install colorama

Fore是针对字体颜色,Back是针对字体背景颜色,Style是针对字体格式

Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
Style: DIM, NORMAL, BRIGHT, RESET_ALL

demo

demo 脚本下载

demo1

发现第二行开始把前面的颜色控制也集成过来了,不是我们想要的结果

demo2

发现最终添加 Style.RESET_ALL 之后虽然执行 reset_all 后面的是恢复了默认,但是之前的还是集成了。 不行

demo3

最后发现 脚本前面添加 init(autoreset=True) 可以完美解决

参考


附加

shell终端颜色控制说明,拿上面的例子说明:

结尾的 \033[0m 是恢复终端默认
开头的 \033[ 是颜色控制的开始
介于两种中间的分别代表的是 前景色背景色显示的方式

'\033[5;31;47m综合打印\033[0m'

前景色和背景色说明

前景色 背景色 颜色
30 40 黑色
31 41 红色
32 42 绿色
33 43 黃色
34 44 洋红
36 46 青色
37 47 白色

控制方式说明

显示方式 意义
0 终端默认设置
1 高亮显示
22 非高亮显示
4 使用下划线
24 去下划线
5 闪烁
25 去闪烁
7 反白显示
27 非反显
8 不可见
28 可见

Linux 下颜色控制使用可以参考
https://www.jianshu.com/p/ba1b8aded634

作者

Colin

发布于

2019-11-23

许可协议