如何从字典Python 2.4创建文本列

如何从字典Python 2.4创建文本列,python,bash,dictionary,Python,Bash,Dictionary,我目前正在尝试用python重写一些工具,唯一的挑战是我仅限于python 2.4 bash版本的当前输出如下所示: Host Active VMs SW Ver Processor Cores Mhz Tot Mem Free Mem Network cloudmatt1 1 XenServer 1.8.0 GenuineInt

我目前正在尝试用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类似的方式显示数据?

使用Python 2.4,可以使用
%sN
左对齐文本,其中
N
是要使用的填充。e、 g:

print "%s-20" % "foo"

看起来您有一些左对齐的列,每个列都有特定的大小。您可以从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中可能也适用

我相信你的意思是写“%-20”。