Python输出的格式大于format语句中的大小。以下语句指定4个字符的字符串长度,但输出增加以适合字符串。当需要特定的布局时,如何在代码中管理它?
print('#{:4.4}#'.format('xylophone'))
print('#{:4.5}#'.format('xylophone'))
print('#{:4.10}#'.format('xylophone'))
输出:
#xylo#
#xylop#
#xylophone#
答案 0 :(得分:0)
考虑格式声明{:X.Y}
。
值X
是填充。输出字符串的宽度至少为X
个字符,但可以更多。如果输入字符串短于X
,format命令将向输出字符串添加空格以构成长度差异。 X
将始终为格式化字段的最小宽度。
值Y
是截断。输出字符串将包含输入字符串中不超过Y
个字符。 Y
将始终为格式化字段的最大宽度。
如果Y
> X
,然后输出字符串将至少为X
个字符,最长为Y
个字符,如您的示例所示。如果X
> Y
,然后格式化的字符串将包含输入字符串中的第一个Y
字符和空格,以便在需要时将格式化字符串填充为X
字符宽。
如果布局中的字段必须是特定宽度,则将X
和Y
都设置为字段的宽度,它将正确输出。
示例:
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 #