On 03/27/2013 04:40 AM, Frank Millman wrote:
Hi all

This is a bit of trivia, really, as I don't need a solution.

But someone might need it one day, so it is worth mentioning.

 >>> '{}'.format(True)
'True'
 >>> '{:<10}'.format(True)
'1         '

One might want to format True/False in a fixed width string, but it
returns 1/0 instead. Is there any way to make this work?

Frank Millman


Easiest way is to surround the boolean variable with repr()

flag = True
'{:<10}'.format(repr(flag))

An alternative is to just use something like:

["False     ","True      "][flag]

making sure the two strings are of the same length.

(You didn't specify version, but I tested these with CPython 2.7.3)

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

Reply via email to