在Python中,如何识别名称中包含句点的目录?

在Python中,如何识别名称中包含句点的目录?,python,directory,os.path,Python,Directory,Os.path,在Windows下,假设您有以下目录: 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 WindowsErr

在Windows下,假设您有以下目录:

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

很明显,目录名中出现句点是导致这些函数出现问题的原因,但我找不到任何替代方法。

回答我自己的无能

第一,具体措施:

isdir(path)
如果路径不存在,将简单地返回False(不会引发错误)

然后是摘要:


如果在Stack Exchange或Google上的搜索没有发现任何其他人提到与您遇到的问题类似的问题,请仔细检查您的代码。除非您正在做一些模糊的事情,否则很可能是您自己犯了一个错误。

“很明显,目录名中出现句点是导致这些函数出现问题的原因”。。。可能是因为我没有查看您的文件系统,但我似乎不清楚…我不认为这是周期。可能是反斜杠。你确定这实际上是一个目录,而不是NTFS 6风格的软链接或连接点,甚至是老式的浏览器快捷方式吗?(在较新版本的Python中添加了对前两个的支持,但我不知道您使用的是哪一个版本;快捷方式只是普通文件,因此Python永远不会为它们添加完全透明的支持,因为这是错误的。)如果我从文件夹名中删除句点,函数将正常工作。但是我在尝试编写一些通用的东西时偶然发现了这一点,所以重命名文件夹并不是一个真正的选项。