如何在单词之间创造相等的空间 - python

时间:2016-09-22 14:52:38

标签: python

(对不良英语抱歉) 我在cmd工作。 我想做那件事:

file_name              DIR
file_name_3            DIR
file_name_545          DIR
file_name_LlK          DIR

而不是做那件事:

file_name          DIR
file_name_3          DIR
file_name_545          DIR
file_name_LlK          DIR

我试着在循环中这样做:

print data.ljust((20 - len(data) + 20)) if len(data) <= 20 else (data[0:17] + '...').ljust(20)), 'DIR'

但那个东西不起作用因为有些字母比另一个字母大,那么'ljust'字样就不可能了。

2 个答案:

答案 0 :(得分:0)

使用格式字符串。

export default createContainer(() => {
  const handle = Meteor.subscribe('details-list');
  return {
    details: Details.find(),
    detailsReady: handle.ready(),
  };
}, DetailsContainer);

"{:20}{}".format(data,"DIR")

相同
ljkust()

请参阅data.ljust(20) + "DIR" 了解help(str.ljust)

答案 1 :(得分:0)

首先,找到数据中最宽泛的点。我假设你有一个元组列表。

col_width = max(tup[0] for tup in list_of_tuples)
for tup in list_of_tuples:
    print(tup[0].ljust(col_width), tup[1].ljust(colwidth))

ljust是您想要的功能,但我认为您将不同行的列设置为不同的宽度,这不是您想要的。