在Python中,如何通过使用高级格式来使长字符串"Foo Bar"成为"Foo ..."并且不要像"Foo"那样更改短字符串?
"{0:.<-10s}".format("Foo Bar")
Run Code Online (Sandbox Code Playgroud)
只是用点填充字符串
你需要使用一个单独的功能; Python格式的迷你语言不支持截断:
def truncate(string, width):
if len(string) > width:
string = string[:width-3] + '...'
return string
"{0:<10s}".format(truncate("Foo Bar Baz", 10))
Run Code Online (Sandbox Code Playgroud)
哪个输出:
>>> "{0:<10s}".format(truncate("Foo", 10))
'Foo '
>>> "{0:<10s}".format(truncate("Foo Bar Baz", 10))
'Foo Bar...'
Run Code Online (Sandbox Code Playgroud)