如何使文本行的特定部分缩进正确?

时间:2015-09-06 11:15:24

标签: python python-2.7

我使用python print()函数打印组件名称,其当前版本和最新版本如下:

for component in component_list:

print("%s \t current ver: %s \t latest ver: %s" % (name, current_version, latest_version))

组件名称的长度可能不同,这使得句子部分不能正确缩进。

bla      current ver: 0x05   latest ver: 0x05


blabla1      current ver: 0x06   latest ver: 0x06


blablablabla     current ver: 0x08   latest ver: 0x0e

如何将上述内容打印如下:

bla              current ver: 0x05   latest ver: 0x05


blabla1          current ver: 0x06   latest ver: 0x06


blablablabla     current ver: 0x08   latest ver: 0x0e

谢谢,

2 个答案:

答案 0 :(得分:2)

如果$yesterday = (Get-Date).AddDays(-1).ToString('yyyyMMdd') Move-Item "*$yesterday*.xml" 'D:\Sample' 是列表中名称的最大长度,例如:

maxLength

然后,您可以使用以下内容正确格式化代码:

# I don't know how you extract name from component so this might be incorrect
maxLength = max(len(component.name) for component in component_list)

说明:

print("{:{width}} \t current ver: {} \t latest ver: {}".format(
    name, current_version, latest_version, width = maxLength)
)

然后,您可以使用另一个变量来指定宽度,而不是使用原始>>> '{:<20}'.format('Hello World!') # Add spaces to the right to reach 20 characters 'Hello World! ' >>> '{:>20}'.format('Hello World!') # Add spaces to the left ' Hello World!' >>> '{:20}'.format('Hello World!') # Use default alignment for the type of object 'Hello World! ' # For string it is left aligned

20

查看str.format文档,了解格式规范迷你语言的完整文档。

答案 1 :(得分:0)

  • 遍历所有列表以查找左侧组件的最大长度
  • 使用此值(例如将其四舍五入到下一个4个字符)来确定第二个组件的起始列(例如n
  • 再次遍历列表,这次打印第一个组件(n-len(first_component))空格,然后打印第二个组件