sub(O:\)文件夹的python getcwd

时间:2017-10-29 09:30:19

标签: windows python-2.7

我正在windows中的subst文件夹中运行python脚本:

c:\MyFolder\Tmp\Code\subst O: .
O:\script.py

script.py正在运行 getcwd (和 abspath )命令,它需要真正的文件夹名称,但它显示O:。

有没有办法获取真正的文件夹名称(不运行 subst 命令并迭代驱动器)并使用 getcwd 替代?

1 个答案:

答案 0 :(得分:0)

由于标记评论是不可能接受的答案,我将引用@ eryksun的评论:

  

工作目录的本机路径类似于“\ Device \ HarddiskVolume2 \ MyFolder \ Tmp \ Code”。如果通过子驱动器“O:”打开此目录的句柄并调用GetFinalPathNameByHandle,Windows可以重建卷GUID路径或DOS路径。它通过NtQueryObject和NtQueryInformationFile获取本机设备和文件路径。然后它打开安装点管理器“\ Device \ MountPointManager”以查询从本机设备路径到“Volume {GUID}”名称或DOS逻辑驱动器号(或文件夹,如果没有驱动器号安装)的映射

     

在Python 3中,GetFinalPathNameByHandle被包装为os.path._getfinalpathname(仅用于获取最终的DOS路径)。它由pathlib.Path.resolve

使用

非常感谢,谢谢。