python - 格式化字符串

时间:2015-03-24 14:50:14

标签: python string python-2.7 formatting

我想以性感的方式打印一个字符串,但我看不出我做错了什么?

我想实现这个目标:

15     OBJECT (7)      Content Placeholder 5
17     BODY (2)        Text Placeholder 1
18     BODY (2)        Text Placeholder 2
23     OBJECT (7)      Content Placeholder 3
24     PICTURE (18)    Picture Placeholder 4
25     BODY (2)        Text Placeholder 6

我的代码:

for shape in slide.placeholders:
    print '{0:<5}  {1}      {2:<5}'.format(shape.placeholder_format.idx, 
                                           shape.placeholder_format.type, 
                                           shape.name)

但这就是我得到的

15     OBJECT (7)      Content Placeholder 5
17     BODY (2)      Text Placeholder 1
18     BODY (2)      Text Placeholder 2
23     OBJECT (7)      Content Placeholder 3
24     PICTURE (18)      Picture Placeholder 4
25     BODY (2)      Text Placeholder 6

仅供参考 - 执行此操作:打印'{0:<5} {1:<15} {2:<5}'.format(...)

给了我这个:

15    7               Content Placeholder 5
17    2               Text Placeholder 1
18    2               Text Placeholder 2
23    7               Content Placeholder 3
24    18              Picture Placeholder 4
25    2               Text Placeholder 6

它有点吃到我的文本中间栏?

1 个答案:

答案 0 :(得分:4)

您还需要将第二个元素定义为左对齐,如此

print '{0:<5} {1:<15} {2}'.format(...)

在这里,你说第一列应该左对齐,宽度是5,第二项也应该左对齐,宽度是15。