Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中,如何获取给定文件路径的文件系统_Python_Filesystems_Filepath - Fatal编程技术网

在Python中,如何获取给定文件路径的文件系统

在Python中,如何获取给定文件路径的文件系统,python,filesystems,filepath,Python,Filesystems,Filepath,在python中,给定一个目录或文件路径,如/usr/local,我需要在文件系统可用的地方获取文件系统。在一些系统中,它可以是/(root)本身,在另一些系统中,它可以是/usr 我试过os.STATVS它没用。我是否必须使用路径名运行df命令并从输出中提取文件系统?有更好的解决办法吗 它仅适用于linux/unix平台 感谢使用os.stat获取相关文件/目录的设备号(st\u dev字段),然后迭代系统装载(/etc/mtab或/proc/mounts),将每个装载点的st_dev与此数字

在python中,给定一个目录或文件路径,如/usr/local,我需要在文件系统可用的地方获取文件系统。在一些系统中,它可以是/(root)本身,在另一些系统中,它可以是/usr

我试过os.STATVS它没用。我是否必须使用路径名运行df命令并从输出中提取文件系统?有更好的解决办法吗

它仅适用于linux/unix平台


感谢使用
os.stat
获取相关文件/目录的设备号(
st\u dev
字段),然后迭代系统装载(
/etc/mtab
/proc/mounts
),将每个装载点的
st_dev
与此数字进行比较。

df
本身打开并解析
/etc/mtab
时,您可以这样做,也可以解析此文件(另一种方法是
/proc/mounts
),或者您确实解析了
df
输出。

这里是一个稍微修改过的配方。 添加了
os.path.realpath
,以便正确处理符号链接

import os
def getmount(path):        
    path = os.path.realpath(os.path.abspath(path))
    while path != os.path.sep:
        if os.path.ismount(path):
            return path
        path = os.path.abspath(os.path.join(path, os.pardir))
    return path

您想要的只是装载路径,还是其他一些信息?