python写入文件,无法理解行为

python写入文件,无法理解行为,python,Python,我不明白为什么我不能在python程序中写入文件。我有一个测量字符串的列表。我只想把它们写进文件。它只写入1个字符串,而不是所有字符串。我不明白为什么。 这是我的一段代码: fmeasur = open(fmeasur_name, 'w') line1st = 'rev number, alg time\n' fmeasur.write(line1st) for i in xrange(len(measurements)): fmeasur.write(measurements[i])

我不明白为什么我不能在python程序中写入文件。我有一个测量字符串的列表。我只想把它们写进文件。它只写入1个字符串,而不是所有字符串。我不明白为什么。 这是我的一段代码:

fmeasur = open(fmeasur_name, 'w')
line1st = 'rev number, alg time\n'
fmeasur.write(line1st)
for i in xrange(len(measurements)):
    fmeasur.write(measurements[i])
    print measurements[i]
fmeasur.close()

我可以看到所有这些东西的打印,但在文件中只有一个。可能是什么问题?

我得到的唯一合理解释是,您多次执行上述代码,每次只在测量中输入一个条目,或者至少上次执行代码时,lenmeasurements是1

由于您正在覆盖文件而不是附加到文件中,因此文件中只会显示最后一组测量值,但所有测量值都会显示在屏幕上


编辑或者你的意思是数据在那里,但是测量值之间没有换行符?解决这个问题的最简单方法是使用print>>fmeasur,measures[i]而不是fmeasur。write…

我唯一合理的解释是,您多次执行上述代码,每次只在测量中输入一个条目,或者至少上次执行代码时,lenmeasures是1

由于您正在覆盖文件而不是附加到文件中,因此文件中只会显示最后一组测量值,但所有测量值都会显示在屏幕上


编辑或者你的意思是数据在那里,但是测量值之间没有换行符?最简单的解决方法是使用print>>fmeasur,measures[i]而不是fmeasur。只写一行…

你的意思是所有的测量都在同一行,没有换行吗?在这种情况下,您必须在每次写入文件时都附加一个换行符,而不是使用xrange来迭代测量值,您应该只用于测量值中的项,或者如果您需要索引的索引,EnumerateMeasurements中的项,那么您可以给我们展示一些其他代码,可能是测量的内容?只有一个是指所有测量都在同一行,没有换行符吗?在这种情况下,您必须在每次写入文件时都附加一个换行符,而不是使用xrange来迭代测量值,您应该只用于测量值中的项,或者如果您需要索引的索引,EnumerateMeasurements中的项,那么您可以给我们展示一些其他代码,可能是测量的内容?您可能需要的是写入附加模式,a,而不是写入覆盖模式,w。您可能需要的是写入附加模式,a,而不是写入覆盖模式,w。