os.path.isdir(path)异常

Window 10家庭中文版,Python 3.6.4,

当一个路径以多个斜杠(/)或反斜杠字符(\)结尾时,os.path.isdir(path)函数仍然将它们判断为目录:

>>> os.path.isdir('C:/Python36/Lib/sqlite3//')
True
>>> os.path.isdir('C:/Python36/Lib/sqlite3///')
True
>>> os.path.isdir('C:/Python36/Lib/sqlite3///////')
True
>>> os.path.isdir('C:\Python36\Lib\sqlite3\\\\') # 8个反斜杠(转义后是4个反斜杠 )
True

孤的判断是返回False的,为何会如此?后续会继续dig~

----

Python官文信息:

os.path.isdir(path)
Return True if path is an existing directory. This follows symbolic links, so both islink() and isdir() can be true for the same path.

path-like object
An object representing a file system path. A path-like object is either a str or bytes object representing a path, or an object implementing the os.PathLike protocol. An object that supports the os.PathLike protocol can be converted to a str or bytes file system path by calling the os.fspath() function; os.fsdecode() and os.fsencode() can be used to guarantee a str or bytes result instead, respectively. Introduced by PEP 519.

class os.PathLike
An abstract base class for objects representing a file system path, e.g. pathlib.PurePath.

PEP 519 -- Adding a file system path protocol

原文地址:https://www.cnblogs.com/luo630/p/9220225.html