os.path.isdir() 始终为真

os.path.isdir() gives always true

你好,我写了一个简单的 python 代码,它将检查 folder/dir 是否存在于 /usr/share/* 文件中,但它无法检查

import  os 
try:
     os.path.isdir('/usr/share/sqlmap')
     print 'sqlmap found'
except OSError:
     print "Sqlmap not found"
#Output
 sqlmap found 

尽管我的目录中不存在它。请任何人告诉我我的错误在哪里。

为什么你期望抛出错误,使用:

import  os 
if os.path.isdir('/usr/share/sqlmap'):
    print 'sqlmap found'
else:
    print "Sqlmap not found"

documentation 对此不是很清楚,但是如果目录不存在,isdir 会 return False。它不会抛出异常。因此,您在这种情况下使用 if-else 块会更合适。

例如:

import  os 
if os.path.isdir('/usr/share/sqlmap'):
    print 'sqlmap found'
else:
    print "Sqlmap not found"