python中的彩色文本



为了能够在python中从终端进行彩色打印,我知道我们可以做一些类似的事情

text = 'x1b[94mtext to colorx1b[0m'

所以当调用函数时

print(text)

以彩色打印文本

现在,我制作了一个字典,只需选择一个键,并给我一个随机的颜色,因为我想改变列表中文本的颜色,问题是它不会改变颜色,但它会像文本一样连接我,比如说,它不是用颜色打印"文本",而是按如下方式打印字符串:

'x1b[94mcolor textx1b[0m'

我想这与print((函数有关,该函数不知何故已经解释了";\x〃;escape,我怎么能让它打印成彩色而不是文本呢?谢谢

我附上任何的代码


#colors pa distinguir un poco 
colors = {
0 : '33[0m', #color normal
1 : '33[93m', #amarillo
2 : '33[94m', #azul
3 : '33[95m',#morado
4 : '33[91m',#rojo
5 : '33[92m'}#verde

#para elegir uno al azahar
def color_azahar():
"""Elige un color al azahar de un diccionario de colors"""
indice = random.randint(0, len(colors)-1)
return colors[indice]
def pretty_print(arreglo):
"""Dado un arreglo de nxn imprime cada renglón para que se vea legible"""
for i in range(len(arreglo)):
print(arreglo[i])

def change(cuadri, n):

if n == 1: 
return cuadri
if n == 2:       #  [[a, ]
#caso donde        , ], 
if cuadri[0][0] == 'a': 
#sacamos el color 
ado = color_azahar()+'a'+colors[0]
#coloreamos los demás
cuadri[0][1] = str(ado)
cuadri[1][0] = ado
cuadri[1][1] = ado
return cuadri
prueba = [['a', ' '],['','']] 
pretty_print(change(prueba, 2)) # doesn't print color, it prints literally the text
text = color_azahar()+'a'+colors[0]
print(text) ```

这只是打印语句,但使用特殊代码告诉控制台在这一点之后开始用新颜色打印所有内容。如果您想回到以前的课程中进行更改,则需要重置。

print参数中有些随机的字符告诉计算机将下一个文本输出的颜色更改为您选择的任何颜色。

您必须添加下表中的数字。

颜色值默认值0黑色30红色31绿色32黄色33蓝色34紫色35青色36白色37

示例:打印("啊,哦,你收到了一个","\033[31m","警告","\033[0m"(

最新更新