如何平滑对齐文本输出

时间:2013-04-30 17:15:17

标签: python text formatting

无论如何在python中执行this

我有一堆未对齐的文字,看起来像这样(从上面链接的问题复制):

column1               column2
-------               -------
sdfsdfsddfsdfsdfsdfsd         343r5
dfgdfgdf             234
gdfgdfgdfgdfgf            645

我希望它看起来像这样:

Name                            Address     Size
foo                            01234567      346
bar                            9abcdef0     1024
something-with-a-longer-name   0000abcd     2048

但是我不知道/在python中找不到任何类似的文本和字符串修饰符。

1 个答案:

答案 0 :(得分:3)

在python 3(2.6+)中,你应该使用str.format()而不是“%-systax”。

format_str = '{name:30} {address:08x} {size:8d}'
print(format_str.format(name='Name', address='Address', size='Size')
print(format_str.format(name=names[i], address=addresses[i], size=sizes[i]))

有关format()方法的更多信息,请查看here