Dynamic Zero Padding.

Emile van Sebille emile at fenx.com
Tue Jun 7 17:50:56 EDT 2011


On 6/7/2011 2:36 PM Friedrich Clausen said...
> Hello All,
>
> I want to print some integers in a zero padded fashion, eg. :
>
>>>> print("Testing %04i" % 1)
> Testing 0001
>
> but the padding needs to be dynamic eg. sometimes %05i, %02i or some
> other padding amount. But I can't insert a variable into the format
> specification to achieve the desirable padding.
>
> I would be much obliged if someone can give me some tips on how to
> achieve a variably pad a number.


Something like this works:

 >>> for ii in ((3,12),(4,140),(5,123)):
...   print ("Testing %%%02ii" % ii[0]) % ii[1]
...
Testing 012
Testing 0140
Testing 00123

Emile




More information about the Python-list mailing list