2015-06-21 49 views
1

所以,在閱讀這個問題的許多實例被回答後,我仍然卡住了。爲什麼這個功能並不是一個新行每次?:寫一個新行到一個文件(Python 3)

def addp(wrd,pos): 
    with open('/path/to/my/text/file', 'w') as text_file: 
     text_file.write('{0} {1}\n'.format(wrd,pos)) 

這似乎好像\n應該做的伎倆寫。我錯過了什麼嗎?

我運行Ubuntu 15.04

+0

您正在使用錯誤的模式。你需要使用[''a''(append)](http://stackoverflow.com/questions/4706499/how-do-you-append-to-a-file-in-python),而不是''w '(寫)。 –

回答

3

應換行書寫的文件的時候,也許你正在開擴在w模式,這將導致該文件的文件問題被覆蓋,因此,對於上述函數的每個調用,它只會完全覆蓋您發送的wrd,pos文件,因此該文件只包含一行。

您應該嘗試使用a模式,該模式用於附加到文件。

def addp(wrd,pos): 
    with open('/path/to/my/text/file', 'a') as text_file: 
     text_file.write('{0} {1}\n'.format(wrd,pos)) 
+0

希望這是一個初學者問題,而不是一個愚蠢的問題!感謝:P –

+0

是的,我不會說愚蠢的 –

相關問題