我正在製作類似於Linux的裝入設備列表。如何使用Python獲取基於設備名稱的卷標
在程序啓動時,我解析了現有安裝的/ 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()
您還可以得到驅動器和卷的列表。您也可以連接一些信號並適當更新列表。一個音符雖然。卷是第一個出現在列表中,並首先觸發自己的事件,坐騎稍後。因此,如果您希望保留有效安裝列表,請收聽mount-added
和mount-removed
信號,而不是volume-added
和volume-removed
。
我真的需要更多的通用解決方案。因爲我要處理可移動驅動器,所以我可以從vfat獲取到ntfs和其他文件。 – MeanEYE 2011-01-30 14:24:20