→ KSJ:你讀完第一次後 修改檔案內容 第二次讀檔會跟著更新吧? 01/09 12:21
推 timTan:我覺得不用考慮到這個層次耶? 01/09 12:43
→ timTan:懷疑到這個層次滿細心的,但os幫你做這件事,不易出錯吧? 01/09 12:44
→ timTan:你就想成記憶体裡的跟硬碟裡的事一樣的吧。 01/09 12:44
推 chchwy:不需要擔心這種事 OS會搞定 01/09 14:02
→ os653:我對OS還挺有信心的,不過對硬體沒啥信心 XD 01/09 18:08
→ os653:舉例來說,以前有次IDE/SATA轉USB傳輸線出包,多焊一個電阻 01/09 18:11
→ os653:導致資料寫入沒問題,但讀取時會隨機出錯,檔案比對會差一點 01/09 18:12
→ os653:自己也有遇過類似情形,但確定是硬碟出錯 01/09 18:15
→ os653:像這種情形,有辦法寫程式在複製資料的時候就找出問題嗎? 01/09 18:17
→ os653:本來是想寫個帶檢查的複製程式,但不會真正讀取硬碟沒用... 01/09 18:20
→ os653:TeraCopy也有這種檢查功能,不曉得有沒有一樣的問題 01/09 18:50
推 angusj:用os.O_DIRECT參數open? 01/09 20:17
→ os653:python 2.6.6 64bit沒這個參數耶,document說 01/09 21:15
→ os653:O_ASYNC, O_DIRECT, O_DIRECTORY, O_NOFOLLOW, O_NOATIME 01/09 21:16
→ os653:These constants are GNU extensions and not present if 01/09 21:16
→ os653:they are not defined by the C library. 01/09 21:16
推 angusj:這可能是指win底下沒這參數,畢竟這需要OS支援... 01/09 21:39
→ angusj:open有個buffering參數,設為0試試... 01/09 21:50
→ os653:那個沒用,之前就試過了 01/09 21:53
→ os653:有找到兩個不知道可不可行的方法 01/09 21:57
→ os653:不過電腦已經移除C++很久了,現在也沒空間重裝 XD 01/09 21:59
→ os653:而且底下有人說在一台電腦可行但另一台電腦不行,不太穩定 01/09 22:00
→ os653:另外一個是暴力法,直接複製另一個垃圾大檔案把cache清掉 01/09 22:01
→ os653:不過在同時間有其他程式在存取之前的檔案,此法就很可能無效 01/09 22:02
→ os653:所以這方法不穩定而且有點蠢...還有沒有其他解法 Q_Q 01/09 22:03
→ os653:而且第一個方法用pywin寫也沒用... 01/09 22:36
→ modocolor:你需要翻資料或聯絡 python team 去確認 01/27 23:45
→ modocolor:也可以改用 Windows 32 API 去做改善,彈性較好 01/27 23:52
→ modocolor:像是效能檢測的軟體就只能用這種方式測試 01/27 23:52
→ modocolor:硬體讀寫的這些事情 OS 會接管 所以建議改用Win API @_@ 01/27 23:53