Issue 36112: os.path.realpath on windows and substed drives (original) (raw)

Issue36112

Created on 2019-02-25 23:21 by Totte Karlsson, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (2)
msg336574 - (view) Author: Totte Karlsson (Totte Karlsson) Date: 2019-02-25 23:21
Python's os.path.realpath, when used with a substed drive on the Windows platform, don't resolve the substed path to the *real* path. For example creating a substed drive like this: subst z: C:\Users\Public\Desktop and checking for the real path in python like this: import os myPath = "S:\\" print("Real path of: " + myPath + " is: " + os.path.realpath(myPath) ) prints Real path of: S:\ is: S:\ In the docs for the [subst][1] command, a substed drive is referred to as a *virtual* drive. Virtual, suggesting something being "not real", indicates that the Python *realpath* command is not working properly on Windows. [1]: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/subst
msg336597 - (view) Author: Eryk Sun (eryksun) * (Python triager) Date: 2019-02-26 02:32
In Windows, realpath is currently an alias for abspath. Issue 14094 has a pending PR that implements realpath, but it's waiting on improved tests and final approval. I'm afraid it won't make it into 3.8. I suggest using the resolve() method of a pathlib.Path. For example: >>> os.system('subst W: C:\\Windows') 0 >>> pathlib.Path('W:\\').resolve() WindowsPath('C:/Windows')
History
Date User Action Args
2022-04-11 14:59:11 admin set github: 80293
2019-02-26 02:32:10 eryksun set status: open -> closedsuperseder: ntpath.realpath() should use GetFinalPathNameByHandle()nosy: + eryksunmessages: + resolution: duplicatestage: resolved
2019-02-25 23:21:50 Totte Karlsson create