[問題] 寫檔問題

看板Python作者 (Nickname)時間10年前 (2013/11/05 03:07), 編輯推噓1(105)
留言6則, 4人參與, 最新討論串1/1
Hi, 各位好!想請教一個寫檔的問題。 我發現python寫檔好像是一次性把全部寫入。例如: #!/usr/bin/env python import time of = open("output.dat", "w") for i in range(0, 100): time.sleep(1) of.write("test\n") of.close() 我用tail -f output.dat觀察有無文字出現, 感覺是要等到of.close()才會一次寫入。 請問有方法可以同部寫入嗎? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.184.14

11/05 03:26, , 1F
在 of.write("test\n") 之後 of.flush()
11/05 03:26, 1F

11/05 08:45, , 2F
這行為所有語言都一樣...
11/05 08:45, 2F

11/05 11:10, , 3F
謝謝!
11/05 11:10, 3F

11/06 15:50, , 4F
為了顧及效率,寫檔通常會經過buffer(緩衝),
11/06 15:50, 4F

11/06 15:51, , 5F
待適當時機(如檔案關閉)或明確指定要flush才會一次寫入
11/06 15:51, 5F

11/06 15:51, , 6F
相關內容請見檔案處理的相關文件
11/06 15:51, 6F
文章代碼(AID): #1IT_268E (Python)