我想找出一種方法來提醒python腳本文件完成複製。下面是這種情況:如何檢查一個文件在Python中完成複製的時間?
的文件夾,
to_print
正在觀看由腳本用os.listdir()
不斷輪詢。每次
os.listdir()
都會返回一個文件列表,其中存在一個以前未見過的文件,該腳本會對該文件執行一些操作,包括打開文件並操作其內容。
這是罰款時,文件很小,並複製從其原始來源的目錄中的文件被偷窺花費較少的時間比時間os.listdir()
剩餘,直到下一個輪詢量。但是,如果文件被輪詢並找到,但它仍處於複製過程中,則當腳本試圖對其執行操作時,文件內容將被破壞。
相反,我希望能夠(使用os.stat
或其他)知道當前正在複製文件,並等待它完成,直到我對其執行操作爲止。
我目前的想法是每次找到一個新文件時都使用os.stat()
,然後等到下一次輪詢並比較自上一次輪詢後修改/創建的日期,如果它們保持不變,那麼該文件是「穩定」,否則保持投票,直到它。我不確定這會起作用,因爲我不太瞭解Linux/Unix如何更新這些值。
如果沒有要處理的文件和目錄爲空,這是行不通的。 – emish
@emish,爲什麼不呢? 'newfiles'不會是一個空列表,當然''process'可以合理地處理一個空列表。 (如果它不能,那麼它應該調整,以便它可以。) – huon
@kindall我的道歉。我沒有意識到差異,直到我嘗試了它。謝謝,這正是我需要的短小黑客! – emish