需要在python中使用适当的格式在控制台输出中打印布尔值

时间:2018-02-27 20:36:33

标签: python

我需要在python中使用正确的对齐格式打印布尔值(true或false)。可能这个问题很愚蠢,但对我来说很重要。

#!/usr/bin/python

dup_list=[{"status": True, "set": False}, { "status": True, "set": False}]

fmt = "{} {}"
print fmt.format("enabled", "set")
print fmt.format('-----', '--------')

for temp in dup_list:
   print fmt.format(temp['status'], temp['set'])

获得输出但未正确对齐:

enabled  set
-----  --------
True  False
True  False

但我想正确对齐屏幕上的输出。带有空数据的{} {},输出未对齐。当我尝试更改如下对齐时,但它正在打印整数值。

fmt = "{:6}  {:6}"
print fmt.format("enabled", "set")
print fmt.format('-------', '--------')

output:
enabled  set   
-------  --------
     1       0
     1       0

任何人都可以帮助我,如何正确使用“格式”打印真假。

我需要输出如下。

enabled  set
-----   --------
True    False
True    False

2 个答案:

答案 0 :(得分:1)

{:6}假定数字数据。对于布尔值,请使用他们的字符串格式:

>>> '{!s:>6}'.format(True)
'  True'
>>> '{!s:6}'.format(True)
'True  '

或者,不要重新发明轮子,并使用第三方tabulate

答案 1 :(得分:0)

使用Python 3.6,您还可以使用

In [22]: a = True

In [27]: f'{a!r:>5}'
Out[27]: ' True'

In [28]: f'{a!s:>5}'
Out[28]: ' True'