2014-04-30 61 views
-2

我有一個文件已經寫(「file_wrote」)的例子:寫在追加模式已經寫入文件

1, 1, 1, 1, 1, 1 
2, 2, 2, 2, 2, 2 
3, 3, 3, 3, 3, 3 

當我希望寫的一行:

line = ["a","a","a","a","a","a"] 
newline = " ".join([str(e) for e in line]) + "\n" 
with open("file_wrote", 'a') as file_out: 
    file_out.write(newline) 

我得到了這樣的問題:

1, 1, 1, 1, 1, 1 
2, 2, 2, 2, 2, 2 
3, 3, 3, 3, 3, 3, a, a, a, a, a, a 

回答

2

你需要一個換行符增加的newline前:

file_out.write("\n" + newline) 

否則,Python會將文本寫入文件最後一行的末尾。


同時也請記住,你添加一個換行符的newline末在這裏:

newline = " ".join([str(e) for e in line]) + "\n" 
#            ^^^^ 

這意味着,當你運行你的代碼,一個空行會被添加到年底文件。我想你可能想刪除這條新線:

newline = " ".join([str(e) for e in line]) 
相關問題