print("\033[1;30;43m color!!! \033[0m\n");
分成几段就是
\033[x:xx:xxm 这是文字 \033[0m
颜色的控制通过ESC字符(\033)加”[“加颜色代码加”m”实现。ESC的ASCII码是十进制的27,八进制的033(\033)。
\33[后面的1表示加黑文字,常用的如下
0 终端默认设置(黑底白字)
1 高亮显示
4 使用下划线
5 闪烁
7 反白显示
8 不可见
各个控制段用分号;隔开
30是文字颜色
43是背景颜色
m表示颜色设置结束
python 函数实现
def set_color(log, color, highlight=True):
# 3开头表示文字颜色,4开头表示背景颜色
color_set = ["black", "red", "green", "yellow", "blue", "pink", "cyan", "white"]
try:
index = color_set.index(color)
except:
index = len(color_set) - 1
prev_log = "\033["
if highlight: # 加粗
prev_log += "1;3"
else:
prev_log += "0;3"
prev_log += str(index) + "m"
return prev_log + log + "\033[0m"