2017-10-10 84 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) 
相关问题