El 22/02/2011 22:09, Oswaldo Hernández escribió:
Hola,

El problema es que el device que hoy es /dev/sdd mañana puede ser otro
debido a que se ha agregado un disco al sistema, o por cualquier otro
motivo, por lo que me gustaría 'autodetectar' que dispositivo se ha
asignado al disco usb.

¿Conocéis alguna forma de hacerlo?


Gracias Gerardo, Ricardo y Javi, os contesto aqui.

> Hay algo similar para usb: /proc/bus/usb/devices. No sé si te sirva.
> El problema fundamental con esto es que es dependiente del sistema
> operativo, por lo que no podrá usarse en Windows ni en otro sistema que
> no sea POSIX. Sería deseable tener una solución dentro de Python.

Para windows lo tengo prácticamente resulto utilizando win32api, me falta linux.


> Puedes usar en su lugar el UUID (Universally Unique ID) del sistema de
> ficheros, en lugar de el nombre del dispositivo. Es la manera
> preferida desde hace tiempo incluso en /etc/fstab

Sobre el montaje utilizando UUID desconocía totalmente esa posibilidad. Viendo el enlace que indicas creo que me puede ayudar mucho.


> Para volver el tema un poco más pytonico, puedes probar a usar la
> libusb. Hay bindings para python que funcionan en linux.

Llevo un buen rato intentado utilizarla para detectar los dispositivos pero algo no debo estar haciendo bien.

En linux (debian lenny) instalo el paquete python-usb pero al realizar 'import usb.core' da el error 'ImportError: No module named core'

En windows parece que si lo he instalado bien, pero al obtener la lista de dispositivos aparecen todos con bDeviceClass=0 por lo que no soy capaz de distinguir cual de ellos es el disco usb.

De todas formas parece que el modulo libusb esta enfocado para el acceso a los dispositivos bajo nivel y mi necesidad es simplemente saber que están, y donde están.

Gracias de nuevo a todos

--
Oswaldo Hernández
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a