使用写入功能编写格式良好的列表

时间:2014-09-28 10:08:41

标签: python

我有两个带数字的列表,我希望它们写得很好,就像我从print item1, item2得到的那样。有人可以帮忙吗?

outfile = open("tabal_t_y.dat", "w")
for item1, item2 in zip(t, y):
    outfile.write()
outfile.close()

1 个答案:

答案 0 :(得分:2)

print

  

依次计算每个表达式并写入结果对象...如果对象不是字符串,则首先使用字符串转换规则将其转换为字符串...在每个对象(转换和)写入之前写入空格...

但是,如果你在文档中读得更远:

  

print也有一个扩展形式......有时也被称为“print vvron。”在这种形式中,>>之后的第一个表达式必须评估为“类文件”对象...后续表达式将打印到此文件对象...

所以,你根本没有 outfile.write这样做,你可以这样做:

print >>outfile, item1, item2

但是如果你想使用outfile.write,你可以通过两种不同的方式自己做print所做的一切:

首先,您可以将输出转换为字符串,然后将它们与空格连接:

outfile.write(' '.join(map(str, (item1, item2))))

outfile.write(str(item1) + ' ' + str(item2))

def write_things(f, *things):
    f.write(' '.join(map(str, things))))
write_things(outfile, item1, item2)

...或其他任何你觉得舒服的事情。

或者您可以使用string formatting

outfile.write('{} {}'.format(item1, item2))