打印含彩色元素的列表时输出颜色代码而非彩色效果的问题
解决列表中彩色元素打印显示代码的问题
当你直接打印列表时,Python会输出每个元素的repr()表示形式,这会把colored()返回的带ANSI颜色转义码的字符串,转义成\x1b[31m这类可见的代码,而不是让终端解析成颜色。
要正确显示红色的23,你可以用以下两种简单方法:
方法1:逐个遍历打印元素
from termcolor import colored lista = [1,5,12,54,63,colored(23,"red"),65] for item in lista: print(item, end=' ') print()
方法2:将元素转为字符串后拼接成列表格式打印
from termcolor import colored lista = [1,5,12,54,63,colored(23,"red"),65] print('[' + ', '.join(str(item) for item in lista) + ']')
这两种方法都会让终端正确解析ANSI颜色转义码,显示出红色的数字23,其他元素保持正常格式。
内容的提问来源于stack exchange,提问作者MixJ
相关产品推荐
相关产品推荐

