检查目录是否是python 2.7的挂载点

时间:2016-08-24 13:13:37

标签: python python-2.7

是否有pythonic方式并且没有shell命令(即使用子进程模块)来检查目录是否是挂载点?

到目前为止,我使用:

import os
import subprocess

def is_mount_point(dir_path):
    try:
        check_output([
            'mountpoint',
            path.realpath(dir_name)
        ])
        return True
    except CalledProcessError:
        return False

2 个答案:

答案 0 :(得分:12)

os.path.ismount(path)

  

如果路径名路径是装入点,则返回True:文件中的一个点   已安装不同文件系统的系统。功能   检查路径的父路径/ ..是否与其他设备不同   路径,或路径/ ..和路径是否指向同一个i节点   device - 这应检测所有Unix和POSIX的挂载点   变体。

import os
os.path.ismount(dir_name)  # returns boolean

您也可以参考implementation(如果您使用的是POSIX系统)。检查macpath.pyntpath.py是否有其他平台。

答案 1 :(得分:2)

在Python 3.7中,使用Path.is_mount()

>>> from pathlib import Path
>>> p = Path('/some/mounted/dir/')
>>> p.is_mount()
True