2016-02-28 6 views
5

Pythonスクリプトの結果をテキストファイルに出力しようとしていますが、各出力を1行に保存する必要があります。Pythonスクリプトをテキストファイルに出力する

f1=open('./output.txt', 'a') 
f1.write(content + "\n") 

私は定期的にnotepadoutput.txtを開くと結果は次のようになります。私はnotepad++でファイルを開いたときに

color amber color aqua color analysis color app color adobe color alive app 

はしかし、それは正常に見えると、各単語がライン上に保存されます。

どのようにスクリプトが結果を行単位で保存するようにすると、通常のメモ帳にも同じように表示されますか?

+2

はhttp://www.cs.toronto.edu/~krueger/csc209h/tut/line-endings.htmlあなたがすべき見ますWindowsで「\ r \ n」を使用 –

+0

あなたはどのPythonのインストールを使用していますか? – AChampion

+0

何が起こっているのかを見るために、終了文字をNotepad ++の中に表示できますか? (この機能を有効にする方法については、[こちら](http://stackoverflow.com/a/1446382/1559401)を参照してください) – rbaleksandar

答えて

6

あなたの問題は、メモ帳の行末/エンコーディングが間違っていることです。メモ帳はWindowsの行末 - \r\nを使用し、\nを使用します。

5

あなたは例えば、OSに依存行区切りに見てみたいことがあります。

import os 

with open('./output.txt', 'a') as f1: 
    f1.write(content + os.linesep) 
+4

'os.linesep'の[公式文書](https://docs.python.org/2/library/os.html#os.linesep)のためにこれを票決しました – rbaleksandar

+3

良い点ですが、問題はありますが、 '' \ r \ n ''を書くことを提案しています。これは 'os.linesep'を使用する方がより移植性があります。 – AChampion

関連する問題