python:os.path.isdir对于末端有点的目录返回false

2024-04-20 08:10:30 发布

您现在位置:Python中文网/ 问答频道 /正文

Windows7,Python2.6.6,2.7版

创建目录“c:\1\test。”

尝试检查它是dir还是file,但两者都不是:

>>> 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

为什么用目录。最后根本不被识别为文件系统条目?但我可以从os.listdir获得它。


Tags: pathtest目录falsetrueosdirexists
1条回答
网友
1楼 · 发布于 2024-04-20 08:10:30

正如评论中所说,在Windows上,以点结尾、以空格开头/结尾、是“aux”等的文件名通常无法从explorer或大多数编程语言访问。

如果您确实想从python(或其他)代码访问“test.”等目录,可以在路径前面加上\\?\,例如:

>>> os.path.isdir(r"\\?\c:\1\test.")
True

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

相关问题 更多 >