2014-02-14 49 views
1

我試圖使用下面的代碼在文件的下一行附加一條記錄(請注意文件已經創建)。但是,它根本不插入任何記錄。該文件保持空白。如何在文件中附加記錄

with open(utmppath+'/'+tmpfile, "a") as myfile: 
    myfile.write(record+'\n') 
    myfile.close() 

任何建議都會很好。由於

+0

您確定您使用的是正確的路徑嗎?嘗試使用顯式路徑替換'utmppath +'/'+ tmpfile'來運行它。我跑了一個類似的例子,我沒有問題得到它添加記錄。 – Dannnno

回答

1

檢查另外,如果你正確設置你的路徑:

import os 

path = utmppath+'/'+tmpfile 
assert os.path.isfile(path), path 

如果該文件存在,並引發AssertionError如果你使用了錯誤的道路的斷言檢查。此外,由於逗號後的變量 ,錯誤消息中包含使用的路徑。

此外,我建議您在os.path.joinos.path.abspath的幫助下加入文件。 os.path.join正確地爲您連接路徑字符串,os.path.abspath創建絕對路徑。

path = os.path.join(utmppath, tmpfile) 

比方說,希望文件是喜歡你的腳本相同的目錄,並呼籲your_output.txt - 您可以使用此:

path = os.path.abspath(os.path.join(os.path.dirname(__file__), 'your_output.txt')) 

順便說一句,__file__向你的腳本文件的名稱。

+0

你好,謝謝你的回覆..我的壞...我剛剛意識到我正在修改另一個文件:(。謝謝! –

+0

@JoieTamayo:很好,你解決了你的問題。希望我的文章幫助你或獲得瞭解Python的一些功能,如果您想感謝其他用戶,請使用upvote和/或接受答案的可能性。有關更多詳細信息,請參閱metaexchange上的許多帖子,例如:http://meta.stackexchange.com/questions/109956/是非常重要的說,感謝後得到正確答案 – Jon

+0

嗨,喬恩,完成......再次感謝! –