【发布时间】:2013-11-03 10:23:23
【问题描述】:
首先对不起我的英语!
我的环境:
蟒蛇:2.7.3
wxwidgets : 2.9.4-1
wxpython:2.9.4-1
ubuntu : 12.04
上下文:
我必须检测 USB 硬盘驱动器何时插入或拔出并对其执行一些操作。
例如,当插入磁盘时,我想获取安装点(例如:/media/usb0)和系统点(例如:/dev/sdb1)。我需要两条路径,并且我不想进行像(子进程:mount -l)这样的系统调用。
我尝试了几种方法:
- pyudev:仅获取 EVT_DEVICE_ADDED 上的系统路径(如 /dev/sdb1)
- Gio (gi.repository) : 使用'mount-added' 获取挂载点(如/media/usb0)和第二个事件'volume-added' 中的系统点,但我遇到Gio 添加和删除事件失败或有可疑行为取决于计算机我已在其上尝试过我的应用程序
- DBusGMainLoop (dbus.mainloop.glib) :有效,但取决于我尝试过的计算机(都在相同的配置上)启动 2 事件“DeviceAdded”,有时一个 DeviceChanged,但有时不是在插入磁盘时。
您是否知道一种方法(可能是我暴露的 3 个中的一个,我做了坏事)来检测 USB 磁盘何时插入,调用一个方法并在此方法中获取我需要的 2 个路径?
提前致谢。
奥雷利安。
【问题讨论】:
标签: python linux usb detection