如何在Python的输出中插入一个选项卡到一个文件?
例如,
print >>outPutFile , c.lstrip()+"\t"+d.rstrip('\n')+"\t"+a+"\t"+b
输出:
cfn79e739_1.lp 260175 79 739 cfn100e1217_1.lp 288734 100 1217
第二行288734之后没有标签。为什么?
第一行在cfn79e739_1.lp和260175之后没有标签。为什么?
我需要使每个列在相同的路线。
计算每列的最大宽度,然后相应地填充每个值:
lines = [ ['cfn79e739_1.lp', '260175', '79', '739'], ['cfn100e1217_1.lp', '285768', '100', '1217'], ['cfn200e11660_1.lp', '288734', '200', '11660'], ['cfn1500e145_1.lp', '218435', '1500', '145'], ] def print_columns(lines, spacing=2): widths = [max(len(value) for value in column) + spacing for column in zip(*lines)] for line in lines: print(''.join('%-*s' % item for item in zip(widths, line))) print_columns(lines)
输出:
cfn79e739_1.lp 260175 79 739 cfn100e1217_1.lp 285768 100 1217 cfn200e11660_1.lp 288734 200 11660 cfn1500e145_1.lp 218435 1500 145
是的,它确实。 但是这不是标签的工作方式。 他们将光标移动到八的倍数的下一列。 如果你想完美的表格对齐,那么你应该使用字符串插值或格式与已知的大小。
>>> print '%-20s %-4d' % ('foo', 42) foo 42 >>> print '%-20s %-4d' % ('bar', 13) bar 13