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