2

HAL とのインターフェイスに使用していますが、階層python-dbus内のパスに基づいてデバイスの UDI を見つける必要があります。/dev

したがって、 のようなパスが与えられた/dev/sdb場合、 のような値を取得したいと思います/org/freedesktop/Hal/devices/usb_device_10

4

2 に答える 2

1

hal-find-by-propertyPython からの呼び出しを生成します。

import subprocess
def get_UDI(path):
    cmd = 'hal-find-by-property --key block.device --string %s' % path
    proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
    output = proc.communicate()
    # stdout
    return output[0].strip()

print get_UDI('/dev/sdb') # /org/freedesktop/Hal/devices/xxxxxx
于 2009-06-08T13:44:30.067 に答える