实现过程:
终端的字符颜色使用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
转义序列是以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‘)
执行结果:
一般都是三个参数都会设置,就像这样:
时间: 2024-10-13 07:36:19