gpt4 book ai didi

python - 如何使用 Python 根据设备名称获取卷标

转载 作者:太空狗 更新时间:2023-10-29 12:07:32 26 4
gpt4 key购买 nike

我正在制作类似 Linux 已安装设备列表之类的东西。

在程序启动时,我解析/etc/mtab 以查找现有的挂载。要获得有关添加到系统的新安装的通知,我正在使用 DBus 并且在消息中我得到了 volume.label 属性。有什么方法可以根据/dev/sda1 或/dev/sdd 等设备名称获取卷标吗?

编辑:一段时间后,我设法找到了解决这个问题的方法。 Python gio 模块有一个名为 VolumeMonitor 的类。因此,获取具有漂亮名称和正确图标的列表很简单,只需遍历 get_mounts() 方法的结果即可:

for mount in volume_monitor.get_mounts():
print mount.get_name(), mount.get_icon()

您还可以获得驱动器和卷的列表。您还可以连接一些信号并适当更新列表。不过请注意。 Volume 是第一个出现在列表中并且最先触发它自己的事件的,mounts 稍后出现。因此,如果您希望维护一个事件挂载列表,请收听 mount-addedmount-removed 信号,而不是 volume-addedvolume-removed.

最佳答案

除了使用 e2label 命令,您还可以使用 blkid 然后解析其输出:

$ blkid -o value -s LABEL /dev/sda1
/boot

关于python - 如何使用 Python 根据设备名称获取卷标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4843250/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com