前置
之前在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
demo1
demo1
发现第二行开始把前面的颜色控制也集成过来了,不是我们想要的结果
demo2
demo2
发现最终添加 Style.RESET_ALL 之后虽然执行 reset_all 后面的是恢复了默认,但是之前的还是集成了。 不行
demo3
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
可见