打印包含彩色项目的列表时,它会打印颜色代码

问题描述 投票:0回答:1

正如标题中所述,我正在尝试打印包含彩色数字的列表。

代码

from termcolor import colored
lista = [1,5,12,54,63,colored(23,"red"),65]
print(lista)

终端

[1, 5, 12, 54, 63, '\x1b[31m23\x1b[0m', 65]

我本以为会看到红色的 23,但它打印了代码

python string list colors
1个回答
0
投票

您遇到的问题是,当您打印包含彩色数字的列表时,颜色格式的转义码也包含在输出中。 print() 不会直接解释终端转义码。相反,终端使用它们来格式化文本。

为了实现所需的输出,您应该单独打印列表中的每个元素,而不是打印整个列表。这样,颜色格式将被正确应用。方法如下:


from termcolor import colored

lista = [1, 5, 12, 54, 63, colored(23, "red"), 65]

for item in lista:
    print(item, end=" ")

或者您可以解压这些列表项:


from termcolor import colored

lista = [1, 5, 12, 54, 63, colored(23, "red"), 65]

print(*lista, sep=" ")
© www.soinside.com 2019 - 2024. All rights reserved.