如何在python中创建固定大小的格式化字符串?

时间:2012-05-31 15:51:12

标签: python python-2.7

我想创建一个固定大小的格式化字符串,字段之间的位置固定。一个例子更好地解释,这里显然有3个不同的字段,字符串是固定大小:

XXX        123   98.00
YYYYY        3    1.00
ZZ          42  123.34

如何将这种格式应用于python(2.7)中的字符串?

1 个答案:

答案 0 :(得分:104)

当然,请使用.format方法。如,

print '{:10s} {:3d}  {:7.2f}'.format('xxx', 123, 98)
print '{:10s} {:3d}  {:7.2f}'.format('yyyy', 3, 1.0)
print '{:10s} {:3d}  {:7.2f}'.format('zz', 42, 123.34)

将打印

xxx        123    98.00
yyyy         3     1.00
zz          42   123.34

您可以根据需要调整字段大小。请注意,.format独立于print工作以格式化字符串。我刚用print来显示字符串。简要说明:

  

10s格式化一个包含10个空格的字符串,默认情况下左对齐

     

3d格式化一个保留3个空格的整数,默认情况下右对齐

     

7.2f格式化一个浮点数,保留7个空格,小数点后2,   默认是正确的。

还有许多其他选项来定位/格式化字符串(填充,左/右对齐等),String Formatting Operations将提供更多信息。