Python不会将所有行写入.dat文件

时间:2016-11-11 14:02:59

标签: python

我正在尝试将列表写入.dat文件。列表的长度是72000,但是当程序完成并打开prediciton.dat文件时,只有70596行。问题是什么?

这是我的代码:

ratings = [a list of 72000 float numbers]

output = open("prediciton.dat","w") 
for x in ratings:
    output.write(str(x)+'\n')

1 个答案:

答案 0 :(得分:2)

正如三十二上校在评论中所说,你不要关闭文件。

如果数据长达72,000个浮点数,则可能会导致错误。

除此之外,从这个问题中学习的教训是始终关闭打开的文件。 Python提供了一个with语句,它会自动执行:

with open("prediciton.dat","w") as output:
    for x in ratings:
        output.write(str(x)+'\n')

如果这样做,在离开with范围时,Python将执行__exit__对象的output方法,该方法会干净地关闭文件。