2016-05-05 61 views
0

所以我注意到在我的根目錄的子目錄上運行os.path.isdir()時,它返回了False的隱藏/保護文件夾。是否有任何理由,或者它是一個已知的錯誤?如果沒有,有沒有辦法解決這個問題?os.path.isdir()不能識別隱藏的目錄

作爲參考,下面是我運行的代碼:

import os 
for path in os.listdir("/"): 
    print path, os.path.isdir(path) 

編輯:這是上面的代碼

.DocumentRevisions-V100 False 
.file False 
.fseventsd False 
.Spotlight-V100 False 
.Trashes False 
.vol False 
Applications True 
bin False 
cores False 
dev False 
Developer False 
etc False 
home False 
installer.failurerequests False 
Library True 
net False 
Network False 
opt False 
private False 
sbin False 
System False 
tmp False 
User Information False 
Users False 
usr False 
var False 
Volumes False 
+0

它適用於非隱藏目錄嗎?你可以發佈一些示例輸出,也許? –

+0

所以我把上面的輸出,輸出是相同的,如果我使用'os.path.isdir(os.path.realpath(path))',_should_刪除任何符號目錄,正如你所看到的,它的確適用於一些非隱藏的目錄,例如'library'和'applications',但是,還有非隱藏的文件夾也會返回false(包括例如'users') – Creed

回答

2

嘗試添加目錄名到path前部的輸出。

import os 
for path in os.listdir("/"): 
    print path, os.path.isdir("/" + path) 
+0

這個固定它,謝謝! – Creed

+0

對不起,奇怪的是,它使用'os.isdir(「/」+ os.path.realpath(path))' – Creed

+0

時不起作用,因此它看起來像'os.path.realpath'和'os的原因。 path.abspath'不起作用是他們錯誤地將'/ users/ /'添加到每個目錄 – Creed