2015-10-15 40 views
1

我試圖在論壇上搜索很多,但找不到正確的答案。Python os.path.exists在Windows 10上返回false,在同一網絡路徑上在Windows 7上返回true

我的一個python腳本,在Windows機器上運行,首先查找網絡路徑的存在。

myPath = "Y:\\Windows\\Builds\\" 
if not os.path.exists(myPath): 
    print("This one can't be reached : "+myPath) 

這從Windows 7機器(輸出是真的)完全正常工作。但在Windows 10機器上運行相同,則會導致錯誤。所有三臺機器,Windows 7 One,Windows 10 One和Y :(Mac)都位於同一本地網絡上。 Y:是映射驅動器。我也嘗試重複使用IP而不是映射的驅動器名稱,沒有運氣。我知道該命令是區分大小寫的,因此檢查了路徑是正確的。

任何幫助在這裏將不勝感激。謝謝。

+0

如果您嘗試對文件進行統計,會發生什麼情況? 'os.stat(mypath中)'。 – Dunes

+0

嘗試'os.path.join(Windows,Builds)' – Ravichandra

+0

映射驅動器是在每個登錄會話中創建的。如果您啓用了UAC,請注意,您在升級時執行的任何操作(即「以管理員身份運行」)都在不同的登錄會話中。因此,如果您在資源管理器中映射驅動器,它將不會在提升的命令提示符下提供;您必須使用net use [A-Z]:[\\ computername \ sharename]'重新映射它。 – eryksun

回答

1

您可以嘗試os.path.join()加入路徑:

path = os.path.join("Y:","windows","Build") 

這將創建一個路徑字符串關於OS - 針對windows7 windows\\Build和Linux的windows/Build

使用os.path.isdir(path)如果path是現有目錄,則返回True。

+0

我嘗試使用os.path.join,但使用相同的響應。我試圖通過python腳本從Windows 10機器訪問mac上的共享文件。 –

+0

只需手動嘗試一次並比較路徑。它可能工作! – Ravichandra

+0

嘗試'os.path.isdir()' – Ravichandra

相關問題