实现过程:
终端的字符颜色使用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
转义序列是以ESC开头,即用\033来表示(ESC是ASCII码用十进制表示是27,用八进制表示就是033)
书写格式:
开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m
注意:开头部分的三个参数:显示方式、前景色、背景色是可选参数,但是必须要写一个。
由于三个参数不同含义的数值都是唯一的没有重复,所以参数的书写并没有顺序,系统都能够识别。
数值表示的参数含义:
前景色
背景色
颜色
30
40
黑色
31
41
红色
32
42
绿色
33
43
黄色
34
44
蓝色
35
45
紫红色
36
46
青蓝色
37
47
白色
显示方式的参数含义:
显示方式
意义
0
终端默认设置
1
亮度显示
4
使用下划线
5
闪烁
7
反显
8
不可见
实际情况如下:
#!/usr/bin/env python#字体颜色
print('\033[30m黑色字体\033[0m')print('\033[31m红色字体\033[0m')print('\033[32m绿色字体\033[0m')print('\033[33m黄色字体\033[0m')print('\033[34m蓝色字体\033[0m')print('\033[35m紫色字体\033[0m')print('\033[36m青色字体\033[0m')print('\033[37m白色字体\033[0m')print('------------分割线----------------')print('\033[40m黑色背景\033[0m')print('\033[41m红色背景\033[0m')print('\033[42m绿色背景\033[0m')print('\033[43m黄色背景\033[0m')print('\033[44m蓝色背景\033[0m')print('\033[45m紫色背景\033[0m')print('\033[46m青色背景\033[0m')print('\033[47m白色背景\033[0m')
结果:
还有一些特殊操作:
print('\033[0m默认亮度\033[0m')print('\033[1m高亮显示\033[0m')print('\033[4m下划线\033[0m')print('\033[5m闪烁\033[0m')print('\033[7m反取\033[0m')print('\033[8m不显示\033[0m')
执行结果:
一般都是三个参数都会设置,就像这样: