即使文件夹存在,os.path.isdir()也返回False

Eri*_*cht 6 python filesystems

我正在编写一个脚本,必须检查所有指定的文件夹是否确实存在.我发现我必须使用带有绝对路径的os.path.isdir().

我有以下目录结构:

X:\
  pythonscripts\
    files\
      Films\
      Series\
    src\
Run Code Online (Sandbox Code Playgroud)

当我打开op我的python命令行并尝试文件夹实际存在时,我得到以下内容:

>>> import os
>>> os.path.isdir('X:\pythonscripts\src')
True
>>> os.path.isdir('X:\pythonscripts\files')
False
>>> os.path.isdir('X:\pythonscripts\files\Films')
False
>>> os.path.isdir('X:\pythonscripts\files\Series')
False
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为当我将这些路径复制并粘贴到Windows资源管理器中时,我可以毫无问题地访问它们.我检查了权限,所有文件夹对它们具有相同的权限.有谁知道我做错了什么?

fal*_*tru 16

逃避反斜杠(\)

os.path.isdir('X:\\pythonscripts\\src')
Run Code Online (Sandbox Code Playgroud)

或使用原始字符串:

os.path.isdir(r'X:\pythonscripts\src')
Run Code Online (Sandbox Code Playgroud)

没有逃脱,你得到错误的道路:

>>> '\f'
'\x0c'
>>> print '\f'

>>> print '\\f'
\f
>>> print r'\f'
\f
Run Code Online (Sandbox Code Playgroud)