print format

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Tue Dec 15 00:33:39 EST 2009


En Tue, 15 Dec 2009 00:28:11 -0300, Dave Angel <davea at 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




More information about the Python-list mailing list