当使用drive作为起始点时,os.path.relpath不返回相对路径

时间:2011-02-09 21:51:09

标签: python path

为什么在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 个答案:

答案 0 :(得分:3)

python 2.7.1下的

Issue is fixed

  

问题#5117:修复了根目录   posixpath.relpath()上的相关问题   和ntpath.relpath()。