python os windows 上的路径连接显示意外行为

python os path join on windows shows unexpected behavior

我查看了一些示例和文档,但无法解释 os.path.join() 在 Windows 上的以下行为。

import os

os.path.isdir(os.path.join("C:", "\", "Users\Public"))
Out[3]: True

os.path.isdir(os.path.join("C:\Users", "\", "Public"))
Out[4]: False

我没有亲自开发windows,但我认为你不应该在参数列表中给出'\'。

即:尝试: os.path.isdir(os.path.join("C:", "Users", "Public"))

路径中以“\”开头的任何部分都被视为绝对路径。所以第一个示例有效,因为“\”之前没有相对路径,但第二个示例失败。