2010-03-18 133 views
3

如何在python中打開文件並多次寫入文件?Python:多次寫入文件,無需每次寫入都打開/關閉

我正在使用語音識別,並且我想要一個文件根據我所說的來更改其內容。 其他應用程序需要能夠讀取此文件。 有沒有辦法做到這一點,或者我需要打開/關閉每寫?

+0

「其他應用程序」如何知道您完成了交談?什麼觸發它來讀取這個文件? – 2010-03-18 20:42:21

+0

它沒有,我使用語音識別與遊戲,所以我發送按鍵應用程序(沃爾芬斯坦:敵人的領土),並按鍵執行文件的內容 – grizwako 2010-03-18 20:51:29

回答

5

您可以隨時保留文件對象並隨時寫信給它。您可能需要在每次寫入後刷新它以使外部世界可見。

如果您從其他進程執行寫操作,只需以附加模式(「a」)打開該文件即可。

+0

謝謝,flush()是我所需要的。 – grizwako 2010-03-18 20:48:33

1
f = open('myfile.txt','w') 
f.write('Hi') 
f.write('Hi again!') 
f.write('Is this thing on?') 
# do this as long as you need to 
f.seek(0,0) # return to the beginning of the file if you need to 
f.close() # close the file handle 
+1

可能需要一個'f.seek(0,0)'倒回到開始。 – 2010-03-18 20:41:57

+1

每次刷新如何?當輸入太慢時,這不應該損害性能。 – 2010-03-18 20:42:08

+2

永遠不要依賴明確調用'close'。 **總是**使用上下文管理器(''打開('myfile.txt','w')作爲f')。 – 2010-03-18 20:48:47