面对
Python的这个问题:
a = "text"
print('{0:>10}'.format(a))
# output: text
b = "\x1b[33mtext\x1b[0m"
print('{0:>10}'.format(b))
# output: text
正如您所看到的那样,一旦将着色标记添加到文本中,右对齐就会停止工作.第二个“文本”应缩进为第一个,但事实并非如此.
最佳答案 这是预期的,因为数据已经比字段宽度长:
>>> len(b)
13
>>> len('{0:>10}'.format(b))
13
要查看解决方法,请点击此处:Printed length of a string in python(特别是the answer from user dawg)