右对齐包含换行符的字符串中的文本

时间:2014-05-07 14:32:20

标签: python string

说我在Python中有一个带换行符的字符串:

my_string='{a}\n{b}\n{c}'.format(a=a,b=b,c=c)

其中abc包含可能不同长度的字符串。

如何正确调整my_string的行?

1 个答案:

答案 0 :(得分:3)

AFAIK,没有内置功能来对齐多个线条,但它看起来像小菜一碟:

a = """
Lorem 
ipsum dolor sit 
amet, consectetur adipisicing 
elit
"""

lines = a.strip().splitlines()
width = max(map(len, lines))
print '\n'.join(x.rjust(width, '*') for x in lines)

*仅为清晰起见,在您准备好测试时将其删除。

或者,如果您事先知道文本的宽度,可以在格式字符串中指定对齐方式:

mystring = '{a:>20}\n{b:>20}\n{c:>20}'.format(a=a,b=b,c=c)