Python cons中的粗体格式

2024-05-19 17:39:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python代码中定义了一个列表。

list = ['kumar','satheesh','rajan']    
BOLD = '\033[1m'

for i, item in enumerate(list):
   list[i] = BOLD + item

print (list)

但是我得到了output as ['\x1b[1mfsdfs', '\x1b[1mfsdfsd', '\x1b[1mgdfdf']

但所需的输出是['kumar','satheesh','rajan']

如何使用pythonformat中的list elements


Tags: 代码in列表foroutput定义itemlist
3条回答

您还需要指定END = '\033[0m'

list = ['kumar','satheesh','rajan']

BOLD = '\033[1m'
END = '\033[0m'

for each in list:
    print('{}{}{}'.format(BOLD, each, END))

要使列表本身像['kumar'、'satheesh'、'rajan']那样粗体:

print('{}{}{}'.format(BOLD, list, END))

尝试按如下方式打印

for each in list:
    print(each)

以下是输出 enter image description here

卡利恩给出了一个可能的方法,但没能解释原因。

当要求Python打印列表时,它将输出列表中所有项的开始和结束标记([])和表示。对于字符串,这意味着将对不可打印的字符进行转义。

除了单独打印项目外,你几乎无能为力

for i lst:
    print i

或者用join构建一个唯一的字符串:

string_to_output = '[' + ', '.join(lst) + ']'
print(string_to_output)

顺便说一句,正如Austin所解释的那样,'\x01b[1m是一个序列,要求与ANSI兼容的终端以粗体模式通过,因此您必须一次使用'\x01b[0m返回到正常模式。

记住:ANSI在Linux终端仿真中很常见,但它还远没有普及。。。在使用之前,试着使用export TERM=tvi950(以及google for vt100和tvi950以了解更多信息)。。。

相关问题 更多 >