2012-08-08 41 views
4

delete a file in Python,我使用的是os.remove驗證os.remove已經工作

的文檔(鏈接)不給任何異常的跡象,除了OSError

如果路徑是一個目錄,OSERROR提高

如何檢查例外,如FileNotFoundPermissionToDeleteDenied等?或者這樣的錯誤檢查不是由os.remove函數完成的(文檔os.removeos.unlink似乎沒有說)?

回答

9

OSError例外有一個errno屬性,您可以與errno模塊一起使用以獲取有關發生的操作系統錯誤類型的更多信息。見the documentation for OSError

+0

Python 3.3將爲每個錯誤添加[單獨的異常類](http://docs.python.org/dev/library/exceptions.html#os-exceptions),因此不需要檢查「errno」。 – interjay 2012-08-08 11:09:51

-5

使用此代碼:

import os 
if(os.path.exists("c:/randomDirectory/random.txt"): 
    # some random code 

如果random.txt存在運行的隨機碼。

+2

這不會告訴我爲什麼我的'os.remove' *不會運行,如果文件不是由當前用戶所有,或者它是一個目錄而不是文件,或者當前文件在使用中,或一堆其他可能的錯誤。 – simont 2012-08-08 06:09:28

+0

它不告訴權限被拒絕的問題等。 – xis 2015-07-08 23:44:16