En Tue, 15 Dec 2009 00:28:11 -0300, Dave Angel <da...@ieee.org> escribió:
mattia wrote:

Hi all, I wanto to print just the first 5 characters of a string, why this doesn't work (py3.1)?

print("{0:5}".format("123456789"))

123456789
I know I could use print("123456789"[:5]), yeah it's a stupid example, but isn't format for string formatting?

The width field of the format is a *minimum* width. So you can use it to force padding, but not truncation. If you need the string truncated, just use slicing, as you already showed.

Or use the .precision specifier:

py> "{0:.5}".format("123412341234")
'12341'

{0:5.5} has the same effect. See http://docs.python.org/library/string.html#format-string-syntax

--
Gabriel Genellina

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to