字符串对齐不适用于ansi颜色

时间:2018-02-15 21:52:28

标签: python text printing colors format

使用Python来解决这个问题:

a = "text"
print('{0:>10}'.format(a))
# output:      text
b = "\x1b[33mtext\x1b[0m"
print('{0:>10}'.format(b))
# output: text

正如您所看到的,一旦将着色标记添加到文本中,右对齐就会停止工作。第二个"文本"应该缩进为第一个,但事实并非如此。

1 个答案:

答案 0 :(得分:1)

这是预期的,因为数据已经超过了字段宽度:

>>> len(b)
13
>>> len('{0:>10}'.format(b))
13

要查看解决方法,请点击此处:Printed length of a string in python(特别是the answer from user dawg