libmount的包装器,用于读取和操作文件系统表。

libmount的Python项目详细描述


用于读取和操作文件系统表的库,如/etc/fstab

它使用ctypes来包装libmount,它是 util-linux

用法

文件系统表的每次读取和操作都应该在 with锁定块:

from libmount import FilesystemTable

with FilesystemTable() as fstab:
    print fstab[0].target

FilesystemTable的作用类似于一个列表,因此您可以切片并迭代:

with FilesystemTable() as fstab:
    print [fs.source for fs in fstab]
    print fs[2:5]

FilesystemTable对象包含Filesystem对象,每个对象都有 sourcetargetfstaboptions属性。前三名 是字符串,而后者是set-类似于:

with FilesystemTable() as fstab:
    fs = fstab[0]

    # Will print e.g. "/dev/sda1 on / type ext4 (user_xattr)"
    print fs

    fs.source = '/dev/sda2'
    print "Options: %s" % ", ".join(fs.options)
    fs.options -= set(['user_xattr'])

要更新磁盘上文件系统表,请调用save()

with FilesystemTable() as fstab:
    for fs in fstab:
        if fs.fstype in ('ext3', 'ext4'):
            fs.options.add('user_xattr')
    fstab.save()

限制

尚无法添加或删除条目。这还不够彻底 由非特权用户运行时测试。

反馈

感谢您对infodev@oucs.ox.ac.uk的反馈, 或者作为the issue tracker中的问题。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JList侦听器找不到符号   多点触摸跨平台java应用程序(Windows、Mac和Linux(Ubuntu)(可能是Android))   在UnitTest中找不到java类加载器资源   java当我尝试在Eclipse中运行我的minecraft mod时,我总是遇到这个错误,这是什么意思?   内部有一个同步块的静态方法,在java中阻止整个类?   不支持java操作:具有BillableStatus的费用在采购中应具有AccountBasedExpenseLineDetail行的CustomerRef   java运行时常量池GC集合   java无法解析配置“:app:\u debugApk”的所有依赖项。找不到名为“default”的配置   在GCP计算引擎中托管Neo4j的java   java如何从BroadcastReceiver更新片段选项卡?   线程“main”组织中的java异常。冬眠注释异常:@org。冬眠注释。表引用未知表:ProductForPractice   在Java/Groovy中嵌入处理   java Android REST教程/示例项目   java我可以在同一测试中在一个模拟器上启动应用程序,在另一个模拟器上启动移动浏览器吗?   java如何更改通知横幅的方向?   安卓 Java帮助实现Firebase授权   if else之后的rs.next()中出现java错误?