Foros del Web » Programando para Internet » Python »

acceder a un dispositivo de almacenamiento usb a traves de python

Estas en el tema de acceder a un dispositivo de almacenamiento usb a traves de python en el foro de Python en Foros del Web. hola gente!! estoy con un problema que no se si tiene solucion o no y si es pava o no. estuve googleando mucho y no ...
  #1 (permalink)  
Antiguo 09/09/2010, 18:24
 
Fecha de Ingreso: febrero-2010
Mensajes: 10
Antigüedad: 14 años, 1 mes
Puntos: 0
acceder a un dispositivo de almacenamiento usb a traves de python

hola gente!! estoy con un problema que no se si tiene solucion o no y si es pava o no. estuve googleando mucho y no encontre nada, a ver si alguno se topo con el mismo problema o sabe la respuesta...
este es el problema:
necesito acceder desde un programa hecho en python a un pendrive (o en realidad a cualquier cosa que se conecte por usb que sea para guardar datos, como son las camaras de fotos y todos esos dispositivos que se pueden usar desde el navegador de windows/linux sin problema una vez montados)
pude hacer algo desde linux, con llamadas a sistemas, pero me gustaria algo multiplataforma, no hay nada ya hecho??
la idea es poder saber cuando hay un dispositivo conectado, poder saber algunas propiedades (como el tamaño libre) y poder escribir archivos en el dispositvo

desde ya muchas gracias!!
saludos!
  #2 (permalink)  
Antiguo 09/09/2010, 21:30
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: acceder a un dispositivo de almacenamiento usb a traves de python

Te recomiendo que leas esto y esto.

No creo que encuentres algo multiplataforma, por que te encuentras trabajando con hardware
  #3 (permalink)  
Antiguo 12/09/2010, 14:18
 
Fecha de Ingreso: febrero-2010
Mensajes: 10
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: acceder a un dispositivo de almacenamiento usb a traves de python

gracias por responder!
pero eso solo me solucionaria para linux, no para windows (u otros SO)
por suerte lo de linux lo pude solucionar facil gracias al modulo que me hizo un amigo, que lo hizo usando los comandos de la terminal desde python. si a alguno le interesa se lo muestro.
alguien tiene idea de como se haria en windows??
estuve leyendo en los links que me pasaste y vi que hablaban de pyusb, pero no encontre mucha documentacion sobre eso y parece que es para cualquier tipo de dispositivo usb (no uno que sea de almacenamiento) aunque en el primer link que me pasaste nombra a una clase USB_MASS_STORAGE_DEVICE, aunque no pude averiguar nada sobre esta porque la documentacion es muy vaga.
alguien sabe algo de este tal pyusb? supuestamente es multiplataforma, aunque se basa en otras librerias libusb y openusb, que no dicen que son multiplataforma (libusb se puede usar en windows a traves de un libusb_win32, pero no se si es esta compatible con pyusb)
desde ya gracias!
  #4 (permalink)  
Antiguo 14/09/2010, 09:30
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: acceder a un dispositivo de almacenamiento usb a traves de python

Tal vez podrías usar usar la PyWin32... pero no me agrada la idea de usar la api de windows.

Por otro lado, puedes pedirle al usuario que elija el dispositivo usb. Pero todo depende de que tipo de aplicación estés desarrollando.
  #5 (permalink)  
Antiguo 15/09/2010, 14:58
 
Fecha de Ingreso: febrero-2010
Mensajes: 10
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: acceder a un dispositivo de almacenamiento usb a traves de python

gracias de nuevo por contestar razpeitia!
busque con respecto a lo que me dijiste, y encontre esto, que si bien no lo probe todavia, parece que es lo que estoy buscando, solo falta que funcione xD:
http://stackoverflow.com/questions/1968539/how-to-detect-flash-drive-plug-in-in-windows-using-python

una pregunta con respecto a lo que me dijiste, por que no te agrada la idea de usar la api de windows?
obviamente el SO es el que se encarga del manejo de los pendrives (montarlos y eso) asi que a ellos les tengo que pedir que me pasen los datos, por lo menos que me pasen cuales son los dispositivos insertados y como los accedo, y despues manejarme con los ficheros como cualquier programa comun de python. la parte de linux tambien la hice con llamadas al systema, pero no tuve que instalar ningun modulo raro, sino que anduvo bastante facil.

en cuanto a la segunda propuesta que me diste, la idea es que el programa sea lo mas simple y facil para el usuario, por lo que pedirle ese dato iria encontra de la idea del programa, si se puede conseguir de otra forma muchisimo mejor.

muchas gracias de nuevo!!
  #6 (permalink)  
Antiguo 15/09/2010, 15:33
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: acceder a un dispositivo de almacenamiento usb a traves de python

Por que no usar la api de windows:
1.- Portabilidad, pediste que fuera potable asi que usar las api de windows o hacer llamadas al sistema no lo hace portable. Pero por lo visto (tal vez)es la única forma de hacerlo.

2.- La api de windows o por lo menos la win32 es un mugrero, si alguna vez has visto o trabajado con la api de windows veras que no es muy amigable.
  #7 (permalink)  
Antiguo 17/09/2010, 12:25
 
Fecha de Ingreso: febrero-2010
Mensajes: 10
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: acceder a un dispositivo de almacenamiento usb a traves de python

gracias razpeitia por toda la ayuda que me diste!
en cuanto a tu punto 1) pienso hacer un if (linux) .... else if (windows) ....
ya que de ninguna forma se puede hacer portable, porque de linux tambien estaba usando comandos propios. la unica forma de portabilidad es que esto que voy a tener que hacer, ya haya sido hecho por otro.

en cuanto a tu punto 2, y bueh, tendre que ensuciarme las manos, jeje. vi un poco y realmente no se entiende mucho.

igual ahora lo tengo medio colgado al tema, porque estoy con otras cosas.
despues cuando lo retome, y si puedo solucionarlo, pongo la respuesta aca.

muchas gracias!

Etiquetas: almacenamiento, externo, multiplataforma, pendrive, usb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:55.