2017-10-10 88 views

回答

3

如果你不是root,那麼你不能訪問foo。因此,您不能檢查foo/bar是否存在,並且它返回False,因爲它無法找到具有該名稱的目錄(因爲它無法訪問父目錄)。

+0

對不起,我忘了接受 – Ginko

2

os.path.isdir可以返回TrueFalse,但不能引發異常。

因此,如果無法訪問目錄(因爲父目錄沒有遍歷權限),它將返回False

如果您想要例外,請嘗試使用旨在引發異常的os.chdiros.listdir

1

你可以實現一個try/except塊:

import os 

path = '/foo/bar' 

if os.path.exists(path): 
    try: 
     os.chdir(path) 
    except PermissionError: 
     print ("Access Denied To:", path) 
相關問題