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