查找映射卷的根(网络附加存储)

Find root of mapped volume (network-attached storage)

我有一个映射到 /Volumes/Media 的网络附加存储,然后我使用路径

/Volumes/Media/some/path/

在我的程序中。

我希望能够确定路径的哪一部分是映射驱动器,哪一部分是其余部分。像

os.path.split_volume('/Volumes/Media/some/path/') == '/Volumes/Media', 'some/path'

我目前在 Mac OS X 上,但我认为代码通常会 运行 在 Linux 环境中。

我想我在这里找到了答案:

def split_on_mount_point(path):
    mount_point = os.path.abspath(path)
    while not os.path.ismount(mount_point):
        mount_point = os.path.dirname(mount_point)

    return mount_point, os.path.relpath(path, mount_point)