Gabriel Genellina wrote:
<div class="moz-text-flowed" style="font-family: -moz-fixed">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

Whoa! i never realized you could use precision on strings. I knew (the hard way) that it won't work on ints, but I never thought to try it on strings.

Thanks.
DaveA

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

Reply via email to