我希望在打印中有真正的标签但\t
只放置空格.例如:
first:ThisIsLong second:Short first:Short second:ThisIsLong first:ThisIsEvenLonger second:Short
我将如何解决它,以便我可以拥有所有的第一,所有的秒数排队.例如:
first:ThisIsLong second:Short first:Short second:ThisIsLong first:ThisIsEvenLonger second:Short
mjwunderlich.. 10
您可以使用格式来对齐字符串.例如,您可以告诉python第一列应该是20个字符长,第二列应该是10,左对齐.
例如:
string_one = 'first:ThisIsLong' string_two = 'second:Short' print( '{:<20s} {:<10s}'.format(string_one, string_two) )
将打印:
first:ThisIsLong second:Short
这里的第一个格式化描述符({:<20s}
)说:
'<'
左对齐,20
至少20个字符,s
因为它是一个字符串
您可以使用格式来对齐字符串.例如,您可以告诉python第一列应该是20个字符长,第二列应该是10,左对齐.
例如:
string_one = 'first:ThisIsLong' string_two = 'second:Short' print( '{:<20s} {:<10s}'.format(string_one, string_two) )
将打印:
first:ThisIsLong second:Short
这里的第一个格式化描述符({:<20s}
)说:
'<'
左对齐,20
至少20个字符,s
因为它是一个字符串
而不是使用tab(\t
),我建议使用printf样式格式的字符串格式或str.format
:
rows = [ ['first:ThisIsLong', 'second:Short'], ['first:Short', 'second:ThisIsLong'], ['first:ThisIsEvenLonger', 'second:Short'], ] for first, second in rows: print('%-25s %s' % (first, second))
要么
print('{:<25} {}'.format(first, second))