我想创建一个固定大小的格式化字符串,字段之间的位置固定。一个例子更好地解释,这里显然有3个不同的字段,字符串是固定大小:
XXX 123 98.00
YYYYY 3 1.00
ZZ 42 123.34
如何将这种格式应用于python(2.7)中的字符串?
答案 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将提供更多信息。