Python os.path.exists在Windows 10上返回false,在Windows 7上为同一网络路径返回true

时间:2015-10-15 10:12:11

标签: python windows macos

我试图在论坛上搜索很多,但却找不到合适的答案。

我在Windows机器上运行的一个python脚本首先查找是否存在网络路径。

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

这在Windows 7机器上工作得非常好(输出为真)。但是在Windows 10机器上运行相同的操作会导致错误。所有三台机器,一个是Windows 7,一个是Windows 10,另一个是Y :(一台机器人)在同一个本地网络上。

Y:是映射驱动器。我也尝试重复使用IP而不是映射的驱动器名称,没有运气。知道命令是区分大小写的,我检查了路径是否正确。

任何帮助都将受到高度赞赏。感谢。

2 个答案:

答案 0 :(得分:1)

您可以尝试os.path.join()加入路径:

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

这将创建一个关于操作系统的路径字符串 - 适用于Windows7 windows\\Build和Linux windows/Build

use os.path.isdir(path)如果path是现有目录,则返回True。

答案 1 :(得分:0)

如果它是网络共享,则必须使用完整路径,例如:

from pathlib import Path

myPath = Path('//server/sharename/Windows/Builds/')
if not os.path.exists(myPath):
    print("This one can't be reached : " + myPath)