2012-05-03 18 views
1

なぜ私は私のpythonプログラムでファイルに書き込めないのですか?私は文字列のリストmeasurementsを持っています。私はファイルに書き込むだけです。すべての文字列の代わりに、1つの文字列だけを書き込みます。なぜ私は理解できません。 これは、コードの私の作品です:python。ファイルに書き込む、動作を理解できない

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() 

私はこれらtringsのすべての印刷を見ることができますが、ファイル内に1つだけです。何が問題なの?私が持っている

+4

「ただ1つ」とは、それらのすべてが改行なしで同じ行にあることを意味しますか?そのような場合には、 'xrange'を使って' measurements'を反復する代わりに ' – Abhijit

+4

'というファイルに改行を追加しなければなりません。 (計量) ' – jamylak

+2

あなたの他のコードのいくつか、おそらく測定の内容を見せてください。 –

答えて

6

だけもっともらしい説明は、あなたがmeasurementsに単一のエントリで、毎回上記のコードを複数回実行することである(あなたがコードを実行したり、少なくとも最後時間、len(measurements)1です)。

ファイルを追加するのではなく上書きするので、最後の測定値だけがファイルに存在しますが、すべてが画面に表示されます。

編集または、データがあることを意味しますが、測定値の間に改行はありませんか?これを修正する最も簡単な方法は、fmeasur.write(...)の代わりにprint >>fmeasur, measurements[i]を使用することです。

+0

おそらくあなたが望むのは、 "write-append"モード、 "w"ではなく、 "write-append"モード、 'a'です。 –