2009-12-17 71 views
2

我正在研究一個實用程序,該實用程序將在Linux上自動掛載插入的USB棒。我綁定了D-Bus以接收設備何時插入的通知,並且工作良好。但是,我需要確定/ dev中的哪個設備映射到插入的USB記憶棒。我得到了D-Bus通知,然後用pyUSB(0.4)掃描USB系統。我篩選了USB_MASS_STORAGE_DEVICE類,我可以看到已添加或刪除的設備。我需要安裝此設備,以便查詢可用空間並將其報告給我們的應用程序,以便我們可以確定是否存在足夠的可用空間,以便我們可以編寫我們的數據。Linux USB映射問題

我正在使用python進行此任務。我不確定我們的目標發行版是什麼,只是它至少會達到2.6

編輯:我的問題是:如何確定/ dev中的哪個設備映射到我從pyUSB獲得的總線設備號。

+0

你怎麼更換內置Linux的安裝操作的情況下插入一個USB記憶棒,發生? – 2014-03-17 16:52:28

回答

0

爲什麼不使用「OS」模塊掛載文件系統:

os.system ("mount ... ") 

或者,如果你想檢查輸出使用 「POPEN」:

有關使用 dmesg輸出
l = op.popen ("mount ....").readlines() 
+0

我會,一旦我知道要裝什麼。即掛載的第一個參數是設備。這就是我想要發現的。 – Therealstubot 2009-12-17 21:26:45

0

什麼找出設備名稱(sdc1等)

在dbus告訴你東西被插入USB 。你可以做tail dmesg例如

+0

我不喜歡這個解決方案,因爲它缺乏「原子性」。這將作爲最後的手段,但它永遠不會讓我開心。 – Therealstubot 2009-12-17 23:58:07

+0

與其他方式聽並沒有什麼不同。這也在聽,只是檢查字符串。 – dusoft 2009-12-18 10:15:38