0 反对 收藏 我有一个 python 脚本来获取插入 usb 的详细信息。我正在使用 udev 库来管理连接的设备。
当我从系统中移除 USB 设备时,我想获取其设备 ID。
如果我移除设备而不卸载,我将使用 device.get('ID_FS_UUID') 获取设备 ID。
但是如果我在卸载后移除设备,那么我就无法使用上述代码获取设备 ID。我得到的值为 None。
我有一个 udev 监视观察员类来检测 usb 设备的添加和删除。
*从 pyudev.glib 导入 GUDevMonitorObserver 作为 MonitorObserver
def device_event(observer, action, device):
if action == 'add':
DeviceListener.deviceAdded(device)
else:
DeviceListener.deviceRemoved(device)*
根据事件它将调用相应的方法。
def deviceRemoved(device):
print "REMOVED DEVICE IS="+device.get('ID_FS_UUID')
如果我删除设备而不卸载,我会得到以下输出,REMOVED DEVICE IS=5F96-58D0
如果我卸载并移除设备,我将获得以下输出,REMOVED DEVICE IS=None
在第二种情况下,请帮我找到设备 ID。
提前致谢...
答案1
据我所知,无法从 SYSFS 等实时状态树获取此类信息。这些信息可通过 clean umount 清除。
对我来说,最好的方法是保留有关插入设备的此类信息的副本,然后在拔下设备时检查它们。