我正在开发一个可以在linux上自动安装插入的USB记忆棒的实用程序。我已经连接到D-Bus以接收插入设备的时间的通知,并且效果很好。但是,我需要确定/ dev中的哪个设备映射到插入的USB记忆棒。我收到D-Bus通知,然后用pyUSB(0.4)扫描USB系统。我过滤USB_MASS_STORAGE_DEVICE类,我可以看到已添加或删除的设备。我需要安装此设备,以便查询可用空间并将其报告给我们的应用程序,以便我们确定是否有足够的可用空间,以便我们可以编写数据。
我正在使用python执行此任务。我不确定我们的目标发行版是什么,只是它至少是2.6
编辑:我的问题是:如何确定/ dev中的哪个设备映射到我从pyUSB获得的buss设备号。
答案 0 :(得分:2)
您应该向HAL询问此事。你说你已经通过D-Bus从HAL收到通知......它维护USB设备的列表,以及它们的ID和设备名称(block.device
属性)。
以下是如何获取设备文件名以及新USB设备通知的一个很好的示例:How can I listen for 'usb device inserted' events in Linux, in Python?
答案 1 :(得分:0)
为什么不使用“os”模块来挂载文件系统:
os.system ("mount ... ")
或者如果你想检查输出使用“popen”:
l = op.popen ("mount ....").readlines()
答案 2 :(得分:0)
如何使用dmesg
输出来查找设备名称(sdc1等...)
在dbus告诉您插入USB后会立即使用它。你可以做tail dmesg
例如