【问题标题】:Struggling with getting USb mount point python努力获取 USB 挂载点 python
【发布时间】:2014-07-06 12:18:25
【问题描述】:

我正在编写一个列出 USB 大容量存储设备的 python 脚本。我想打印制造商、设备尺寸和安装位置。 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:我还想在分区上留下可用空间。

【问题讨论】:

    标签: python point mount dbus


    【解决方案1】:

    据我所知,获取挂载点会因实施而异。例如,您可以在 OSX 上使用diskutil,在插入 USB 设备之前和之后获取新的设备挂载点。在 Linux 上,实用程序会有所不同。

    而且,您可以使用此library and example 来检测何时安装了 USB 设备。等待几秒钟以安装它并检查新设备。

    【讨论】:

      猜你喜欢
      • 2011-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 2021-03-03
      • 2010-11-11
      • 2019-05-15
      • 1970-01-01
      相关资源
      最近更新 更多