Борьба с получением точки монтирования USB python

Я пишу скрипт Python, в котором перечислены запоминающие устройства USB. Я хочу распечатать производителя, размер устройства и место его установки. USB-накопители автоматически монтируются операционной системой. У меня работает производитель и размер устройства; Но я борюсь с получением точки монтирования. Когда я делаю df -h, я получаю следующее:

FS:/dev/sda1
Размер:980M
Используется:0
Доступно:980M
используется:0%
смонтирован на:/media/usb0

Это то, что мне нужно. Это код, который у меня уже есть:

def fetchExternals():
  bus = dbus.SystemBus()
  ud_manager_obj = bus.get_object("org.freedesktop.UDisks", "/org/freedesktop/UDisks")
  ud_manager = dbus.Interface(ud_manager_obj, 'org.freedesktop.UDisks')

  for dev in ud_manager.EnumerateDevices():
    device_obj = bus.get_object("org.freedesktop.UDisks", dev)
    device_props = dbus.Interface(device_obj, dbus.PROPERTIES_IFACE)
    if device_props.Get('org.freedesktop.UDisks.Device', "DeviceIsRemovable"):
      print device_props.Get('org.freedesktop.UDisks.Device', "DriveVendor")
      print str(math.ceil(device_props.Get('org.freedesktop.UDisks.Device', "PartitionSize")/1048576.0)/1000)+' GB'

Может ли кто-нибудь сказать мне, возможно ли получить точку монтирования для раздела, находящегося на устройстве?

редактировать: я новичок в Linux и Python, так что извините, если это действительно нубский вопрос.

edit2: Я также хотел бы, чтобы в разделе осталось свободное место.


person user3673517    schedule 06.07.2014    source источник


Ответы (1)


Насколько я знаю, получение точек монтирования зависит от реализации. Например, вы можете использовать diskutil в OSX до и после вставки USB-устройства, чтобы получить новую точку подключения устройства. В Linux утилиты будут другими.

И вы можете использовать эту библиотеку и пример для обнаружения при подключении USB-устройства. Подождите несколько секунд, пока он будет смонтирован, и проверьте наличие новых устройств.

person fixxxer    schedule 21.03.2015