基本上呢该篇文章就是我第一个回应提到的,使用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