python 判断文件是否被占用_python 在删除文件的时候检测该文件是否被其他线程或者进程占用?...
永遠不要忘記:跨平臺特性是Python的血液和命脈。
在Linux下進程正在使用的文件,是不妨礙其他進程去移動/刪除/更名的。因為在Linux下由inode確定文件,inode和文件路徑雖然存在對應關系,但本質上是分離的。刪除了某進程正在使用的文件,則在該進程沒有關閉之前,哪怕文件在目錄結構中消失了,也仍然能被訪問到,直到沒有任何進程打開了這個文件(inode節(jié)點的使用者數量降為0)后才會真正刪除。
這個機制是很多Linux程序可以實現(xiàn)不退出升級的理由:舊程序和依賴庫,在舊程序關閉前總是能訪問到,所以無需關閉。而下次啟動時,程序和庫正好就升級成了新的?!闶欠窳晳T了Windows下升級總要“退出正在運行的所有程序”,而對這一點感到很不可思議呢?
刪除操作能否執(zhí)行,何時執(zhí)行,說到底這依賴操作系統(tǒng)的實現(xiàn),不需要Python在“前端”去做無謂的判斷。
被Windows毒害的程序員們,醒醒吧,世界上有很多優(yōu)秀的實現(xiàn),你可以不用,但不得不知,更不能畫蛇添足的去做出一些“對抗”它的舉動。
任何不能進行文件操作的狀況(例如:權限不許可、文件鎖、磁盤滿、IO錯誤等),在Python中都表示為一個異常。請尊重Python的實現(xiàn)方式,先做事,再捕獲異常,最后處理。不要做任何無謂的提前判斷——因為你有限的預防,絕對覆蓋不了所有可能出現(xiàn)的問題!!!
總結
以上是生活随笔為你收集整理的python 判断文件是否被占用_python 在删除文件的时候检测该文件是否被其他线程或者进程占用?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python人工智能是什么意思_Pyth
- 下一篇: python缺点这么多、为什么还流行_P