写入文本文件Python

时间:2012-12-16 19:33:40

标签: python arrays printing

  

可能重复:
  Writing nicely formatted text in 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,但读取的输出应该....

谢谢

1 个答案:

答案 0 :(得分: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