True/False formats as 1/0 in a fixed width string
Dave Angel
davea at davea.name
Wed Mar 27 04:55:35 EDT 2013
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
More information about the Python-list
mailing list