使用驱动器作为起始点时,os.path.relpath未返回相对路径

3
在Windows系统中,当使用驱动器作为起始点(明确或隐含地指定当前目录),os.path.relpath 为什么不能返回正确的相对路径?
>>> os.getcwd()
'U:\\projects'
>>> os.path.relpath(r'D:\foo\something', r"D:\\")
'..\\foo\\something'
>>> os.chdir("D:\\")
>>> os.getcwd()
'd:\\'
>>> os.path.relpath(r'D:\foo\something')
'..\\foo\\something'    
>>> os.path.relpath(r'D:\foo\something', r"D:\\foo")
'something'

我期望看到的是:
'foo\\something'

或者

'.\\foo\\something'

这和在Windows上使用os.path.join有关吗?

请注意,在Windows上,由于每个驱动器都有当前目录,os.path.join("c:", "foo") 表示与该驱动器上的当前目录相关的路径。

我正在使用Python 2.7。

1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接