Wykrywanie usb Pythona


Najpierw przepraszam za mój angielski!

moje otoczenie:
python: 2.7.3
wxwidgets: 2.9.4-1
wxpython: 2.9.4-1
ubuntu: 12.04

kontekst :
Muszę wykryć, kiedy dysk twardy USB jest podłączony lub odłączony i wykonać pewne czynności.
Na przykład, gdy dysk jest podłączony, chcę pobrać punkt instalacji (np .: / media / usb0) i punkt systemowy (np .: / dev / sdb1). Potrzebuję zarówno dwóch ścieżek, jak i nie chcę wykonywać wywołania systemowego, takiego jak (subprocess: mount -l).

Próbowałem kilku sposobów:
- pyudev: pobierz ścieżkę systemową tylko na EVT_DEVICE_ADDED (jak / dev / sdb1)
- Gio (gi.repository): pobierz punkt montowania za pomocą „mount-added” (np. / Media / usb0), a punkt systemowy w drugim zdarzeniu „dodany wolumin”, ale mam problemy z Gio add and remove event fail lub podejrzane zachowanie zależy od komputera, na którym wypróbowałem aplikację
- DBusGMainLoop (dbus.mainloop.glib): Działa, ale zależy od komputera. Próbowałem (wszystko w tej samej konfiguracji) Uruchom 2 zdarzenie „DeviceAdded”, a czasami jeden DeviceChanged, ale czasami nie, gdy dysk jest podłączony.

Czy znasz jakiś sposób (być może jeden z trzech, które ujawniłem, zrobiłem coś złego), aby wykryć, kiedy dysk USB jest podłączony, wywołać metodę iw tej metodzie uzyskać 2 ścieżkę, której potrzebuję?

Z góry dziękuję.

Aurélien.

questionAnswers(1)

yourAnswerToTheQuestion