Have a variable column length in printf

Terry Reedy tjreedy at udel.edu
Sun May 31 12:32:32 CEST 2009


Gary Herron wrote:
> Cameron Pulsford wrote:
>> Hello all, I'm trying to pretty print a list, so I am doing something 
>> like
>>
>> print '%3d' % integer
>>
>> only I would like that 3 to be a variable, instead of hardcoded. Is 
>> this possible, or are there any other ways to accomplish this? Thanks!
> 
> Use a '*' instead of fixed width, and then supply the actual width as a 
> separate parameter:
> 
>  >>> print '%*d' % (5,123)
>  123

In the new string formating, fields can be nested withing fields.  For 
3.1, with auto field numbering:
 >>> "{:{}d}".format(12,4)
'  12'

Otherwise, {0:{1}d}

tjr




More information about the Python-list mailing list