2014-09-23 99 views
2

在Windows下,假設你有以下目錄:在Python中,如何識別名稱包含句點的目錄?

r:\glew-1.10.0 

什麼Python的方法可以用來可靠地確定,這是一個目錄?

os.path.isdir("r:\\glew-1.10.0") # returns false 
os.path.isfile("r:\\glew-1.10.0") # returns true 

mode = os.stat("r:\\glew-1.10.0").st_mode 
stat.S_ISDIR(mode)  # raises a WindowsError - the system cannot find the file 

它似乎很清楚,在目錄名中的一段存在導致具有這些功能的問題,但我無法找到任何替代品。

+3

」看起來很清楚,目錄名稱中存在一段時間會導致這些功能出現問題「......也許這是因爲我沒有查看您的文件系統,但對我而言這並不明顯... – mgilson 2014-09-23 19:48:09

+0

我不認爲這是時期。也許是反斜槓。 – khelwood 2014-09-23 19:53:03

+4

您確定這實際上是一個目錄,而不是NTFS 6式軟鏈接或交接點,甚至是老式資源管理器快捷方式嗎? (對前兩個版本的支持已經添加到更新版本的Python中,但我不知道您使用的是哪個版本;快捷方式只是定期文件,所以Python永遠不會爲它們添加完全透明的支持,因爲那樣會錯誤。) – abarnert 2014-09-23 19:55:07

回答

2

回答我自己的無能......

首先,具體:

isdir(path) 

只會返回False如果路徑不存在(它不會引發錯誤)。

然後摘要:

如果堆棧Exchange或搜索谷歌沒有透露誰比誰提到類似於您所遇到的一個什麼問題,仔細檢查你的代碼。除非你在做一些模糊的事情,否則你自己犯錯的可能性很大。 「

相關問題