用于获取挂载文件系统的python方法

时间:2015-02-02 13:58:12

标签: python python-2.6

这就是我设法在python中枚举挂载文件系统的方法:

for line in open("/etc/mtab"):
    mount_point = line.split()[1]
    if mount_point.startswith('/foo/bar'):
        ...

有更好,更清洁或更简单的方法吗?我还没有在标准模块中找到任何东西(os,stat,statvfs等)。

1 个答案:

答案 0 :(得分:1)

您可能希望将结果收集到列表推导中而不是for循环中。

您提供的代码示例:

collection = [line.split()[1] for line in open("/etc/mtab")
              if line.split()[1].startswith('/foo/bar')]

这将创建一个以'/ foo / bar'开头更快

的所有mount_point的列表

如果您只想迭代它们,那么请改用生成器表达式:

collection = (line.split()[1] for line in open("/etc/mtab")
              if line.split()[1].startswith('/foo/bar'))