基本上呢該篇文章就是我第一個回應提到的,使用pywin32如果樓主願意安裝pywin32的話,那是一個很棒的選擇 :D至於 fd.flush 實作原始碼在這邊
http://goo.gl/uirMHF根據原始碼 file_flush 的實作,是使用 fflush 函式fflush 是標準 C runtime 提供的能力,而呼叫 fflush並不會呼叫 Win32 API 的 FlushFileBuffers樓主也可以用 windbg 下中斷點測試 :D 應該不會hit才是畢竟 fflush 跟 FlushFileBuffers 使用的目的就不同而在這個狀況的確得使用 FlushFileBuffers 再搭配我先前的推文或該文章中所提及的那兩個 flag 才是正解然而 os.fsync 狀況就不同了,在視窗平台上會用_commit_commit 會轉呼叫 FlushFileBuffers (可下斷點驗證)根據以上資訊 os.fsync 應該要清緩衝,也許可以再試試當然使用時,你的 fd 本身在建立時也得具備那兩個 flag