Python で、長い文字列 "Foo Bar" を "Foo..." にするにはどうすればよいですか?
"{0:.<-10s}".format("Foo Bar")
文字列をドットで埋めるだけです
そのためには別の関数を使用する必要があります。Python 形式のミニ言語は切り捨てをサポートしていません。
def truncate(string, width):
if len(string) > width:
string = string[:width-3] + '...'
return string
"{0:<10s}".format(truncate("Foo Bar Baz", 10))
出力:
>>> "{0:<10s}".format(truncate("Foo", 10))
'Foo '
>>> "{0:<10s}".format(truncate("Foo Bar Baz", 10))
'Foo Bar...'
必要なドット数と文字数を設定できます。3文字の後に10ドットを割り当てています
text = "Foo Bar"
dots = "." * 10
output = text[0:3] + dots
print output
出力は次のとおりです。
Foo..........