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

How do I make a fixed size formatted string in python?

本问题已经有最佳答案,请猛点这里访问。

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

1
2
3
XXX        123   98.00
YYYYY        3    1.00
ZZ          42  123.34

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


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

1
2
3
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)

将打印

1
2
3
xxx        123    98.00
yyyy         3     1.00
zz          42   123.34

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

10s format a string with 10 spaces, left justified by default

3d format an integer reserving 3 spaces, right justified by default

7.2f format a float, reserving 7 spaces, 2 after the decimal point,
right justfied by default.

有许多附加选项来定位/格式化字符串(填充、左/右对齐等),字符串格式化操作将提供更多信息。