私はしばらくの間探し回っていましたが、これは私を巻き上げています...これはC#で簡単でした:/
とにかく..私が得た最も近いこのコードを見つけましたが、正規表現が苦手なので、誰かが私のためにそれを絞り込んで、各デバイスのデバイス ID のみを分離できるとしたら、それは素晴らしいことです! とにかく、ここにコードがあります:
import re
import subprocess
device_re = re.compile("Bus\s+(?P<bus>\d+)\s+Device\s+(?P<device>\d+).+ID\s(?P<id> \w+:\w+)\s(?P<tag>.+)$", re.I)
df = subprocess.check_output("lsusb", shell=True)
devices = []
for i in df.split('\n'):
if i:
info = device_re.match(i)
if info:
dinfo = info.groupdict()
dinfo['device'] = '/dev/bus/usb/%s/%s' % (dinfo.pop('bus'), dinfo.pop('device'))
devices.append(dinfo)
print devices