python:os.path.isdir对于带有dot on end的目录返回false

Ser*_*ich 10 python

Windows 7,python 2.6.6,2.7

创建目录'c:\ 1\test.'

尝试检查它是dir还是文件,但它既不是:

>>> os.listdir('c:/1')
['test.']
>>> os.path.isdir('c:/1')
True
>>> os.path.exists('c:/1/test.')
False
>>> os.path.isdir('c:/1/test.')
False
>>> os.path.isfile('c:/1/test.')
False
Run Code Online (Sandbox Code Playgroud)

为何选择目录.在结束时根本不被认为是文件系统入口?但我可以从os.listdir获取它.

nam*_*mey 6

正如在评论中所说,在Windows上,以点结尾的文件名,以空格开头/结尾,是"aux"等等等 - 无法从资源管理器或大多数编程语言正常访问.

如果您确实想要访问诸如"test"之类的目录.从python(或其他)代码中,您可以为路径添加前缀\\?\,例如:

>>> os.path.isdir(r"\\?\c:\1\test.")
True
Run Code Online (Sandbox Code Playgroud)

注意".."和"." 使用\\?\路径时将无法正常工作- Windows将尝试访问具有该名称的实际文件或目录.