Python输出比格式规范更大的字符串

时间:2017-05-14 14:00:51

标签: python format

Python输出的格式大于format语句中的大小。以下语句指定4个字符的字符串长度,但输出增加以适合字符串。当需要特定的布局时,如何在代码中管理它?

print('#{:4.4}#'.format('xylophone'))
print('#{:4.5}#'.format('xylophone'))
print('#{:4.10}#'.format('xylophone'))

输出:

#xylo#
#xylop#
#xylophone#

1 个答案:

答案 0 :(得分:0)

考虑格式声明{:X.Y}

X填充。输出字符串的宽度至少为X个字符,但可以更多。如果输入字符串短于X,format命令将向输出字符串添加空格以构成长度差异。 X将始终为格式化字段的最小宽度

Y截断。输出字符串将包含输入字符串中不超过Y个字符。 Y将始终为格式化字段的最大宽度

如果Y> X,然后输出字符串将至少为X个字符,最长为Y个字符,如您的示例所示。如果X> Y,然后格式化的字符串将包含输入字符串中的第一个Y字符和空格,以便在需要时将格式化字符串填充为X字符宽。

如果布局中的字段必须是特定宽度,则将XY都设置为字段的宽度,它将正确输出。

示例:

print('#{:.4}#'.format('xylophone')) #include up to 4 characters (no minimum width specified)
#xylo#

print('#{:10.4}#'.format('xylophone')) #include up to 4 characters, but make the field at least 10 characters wide
#xylo      #