◐ Shell
clean mode source ↗

Message 207909 - Python tracker

> so perhaps ntpath.join('c:/x', 'd:/y', 'c:z') should return 'c:/x\\z', not 'c:/z'.

'c:z' is consistent with what .NET's System.IO.Path.Combine does:

via  http://ironpython.net/try/ :
import System.IO.Path; print System.IO.Path.Combine('c:/x', 'd:/y', 'c:z')

returns 'c:z'

> Could anyone please check it? Create directory x/z on drive c: and directory y on drive d:, then execute following commands:
> cd c:/x
> cd d:/y
> cd c:z
>
> What is resulting current working directory?

c:\>cd c:/x

c:\x>cd e:\y

c:\x>cd c:z
Het systeem kan het opgegeven pad niet vinden. # file not found, in Dutch

c:\x>cd c:\z



Yes, there is a seperate current directory for each drive, but cd does not switch drives. (cd e:\f does not mean you actually go to e:\f - it just changes the current directory on the e:-drive). I don't think those semantics are sensible for joining paths...