Linux用にマウントされたデバイスのリストのようなものを作成しています。
プログラムの起動時に、既存のマウントについて/ etc/mtabを解析します。システムに追加された新しいマウントについて通知を受け取るには、DBusを使用しており、メッセージにはvolume.labelプロパティがあります。/ dev/sda1や/dev/ sddなどのデバイス名に基づいてボリュームラベルを取得する方法はありますか?
編集:
しばらくして、私はこの問題の解決策を見つけることができました。Pythongio
モジュールには、VolumeMonitorという名前のクラスがあります。したがって、適切な名前と正しいアイコンを含むリストを取得するのは、get_mounts()
メソッドの結果を反復処理するだけです。
for mount in volume_monitor.get_mounts():
print mount.get_name(), mount.get_icon()
ドライブとボリュームのリストを取得することもできます。いくつかの信号を接続して、リストを適切に更新することもできます。ただし、1つの注意が必要です。ボリュームはリストに最初に表示され、最初に独自のイベントをトリガーします。マウントは後で行われます。したがって、アクティブなマウントのリストを維持したい場合は、との代わりにmount-added
と信号をリッスンします。mount-removed
volume-added
volume-removed