0

可能重复:
用 Python 编写格式良好的文本

我有这段代码用于将标题写入创建的 txt 文件:

if not os.path.exists('list.txt'):
    f= file('list.txt', 'w')
    f.write ("\t".join("".join (str(row)) for row in header_names.keys()))+"\n")
    f.write ("\n")

这是我用来将新行附加到文本文件的代码:

f = open("list.txt","a")

f.write ("\t".join("".join (str(row)) for row in header_names.values()))+"\n")
f.write ("\n")
f.close()

写入文本文件的输出不是我想要的:

Name    some number some number2    % percentage    average
Test    2   2   100.0   0.4
TestTestTest    3   4   75.0    0.49
tes 2   3   66.67   0.33

我想要这样的东西:

Name           some number  some number2    % percentage    average
Test           2            2               100.0           0.4
Test           2            2               100.0           0.4
TestTestTest   3            4               75.0            0.49
tes            2            3               66.67           0.33

有什么简单的方法可以实现这一点。它不是强制性的,它是这样写入txt的,但是阅读的输出应该......

4

1 回答 1

3

将每一列格式化为特定宽度,例如:

>>> header = ['one', 'two', 'three']
>>> print [format(el, '<30') for el in header]
['one                           ', 'two                           ', 'three                         ']
>>> print ''.join(format(el, '<30') for el in header)
one                           two                           three                         
于 2012-12-16T19:36:09.770 回答