我目前正在尝试在python中重写一些工具,唯一的挑战是我只限于Python 2.4。
bash版本的当前输出如下所示:
Host Active VMs SW Ver Processor Cores Mhz Tot Mem Free Mem Network
cloudmatt1 1 XenServer 1.8.0 GenuineIntel 2 2660.040 5.45G 3.57G openvswitch
cloudmatt2 3 XenServer 1.8.0 GenuineIntel 2 2660.046 5.45G 1.55G openvswitch
这是我的示例词典:
{'d50787a5-9187-4486-9d36-e8287701bcbd': {'UUID': 'd50787a5-9187-4486-9d36-e8287701bcbd', 'Network-Backend': 'openvswitch', 'Platform-Version': '1.8.0', 'Host-CPUs': 2, 'Name-label': 'cloudmatt1', 'Resident-VMs': 2}, 'e9e54df0-ab87-4e68-a604-2e1821ce2da9': {'UUID': 'e9e54df0-ab87-4e68-a604-2e1821ce2da9', 'Network-Backend': 'openvswitch', 'Platform-Version': '1.8.0', 'Host-CPUs': 2, 'Name-label': 'cloudmatt2', 'Resident-VMs': 4}}
如何以与Python 2.4类似的方式显示数据?
答案 0 :(得分:0)
使用Python 2.4,您可以使用%sN
左对齐文本,其中N
是您要使用的填充。 e.g:
print "%s-20" % "foo"
答案 1 :(得分:0)
看起来你有一些左对齐列,每列都有一个特定的大小。您可以从Python的字符串格式中获得类似的效果。示例:
>>> print "%-10s %-3s %-10s" % ('foo', 2, 'bar')
foo 2 bar
您可以使用星号来判断列的动态范围:
>>> print "%-*s %-*s %-*s" % (10, 'foo', 3, 2, 10, 'bar')
foo 2 bar
在这种情况下,提前确定列的宽度可能更容易,但您也可以检查每行的值的长度,以确定列的宽度。
注意:在2.5中检查过这个,但这些也可能在2.4中有效。