2012-06-22 49 views

Respuesta

4

Una forma de hacer esto sería instalar ADB (puente de depuración androide, parte del SDK) y lanzarlo como un proceso hijo del pitón. ADB se puede usar, entre otras cosas, para leer o escribir en un dispositivo Android.

+0

¿Le importaría dar un ejemplo de cómo hacer esto realmente? – Norfeldt

+3

No es realmente una solución, ya que requiere que el teléfono tenga habilitada la depuración de usb, lo que podría estar bien para la mayoría de nosotros pero no para los consumidores normales. –

+1

@Norfeldt Básicamente, debe instalar los controladores para su sistema operativo y descargar los archivos ADB. ¿Lo tienes trabajando? A continuación, utilice el subproceso. Popen para ejecutar ADB, por ejemplo: res, err = subprocess.Popen ([adb, 'push', pc_source, device_dest], stdout = subprocess.PIPE) .communicate() – foosion

6

Calibre, un programa de gestión de libros electrónicos populares, tiene el código fuente de Python y C para transferir archivos a través de una conexión MTP. http://code.google.com/p/calibre-ebook/downloads/list

+1

URL para navegar por el código correspondiente en el maletero: http://bazaar.launchpad.net/~kovid/calibre/trunk/files/head:/src/calibre/devices/mtp/ – rakslice

+0

Parece una un poco complicado – Norfeldt

4

También estoy buscando lo mismo. Parece que hay pymtp para multiplataforma y wmdlib para Windows.

+1

No hay mucha documentación y ejemplos para encontrar en estos módulos. – Norfeldt

+0

Terminé usando y mejorando [pymtp] (https://pypi.python.org/pypi/PyMTP), funciona bien en GNU/Linux y Mac OS X. Puede ver un ejemplo aquí: https: // github .com/tutorianproject/keysync/blob/master/otrapps/util.py –

+1

Estoy en un Windows 7 y estoy buscando una solución simple. pymtp depende de libmtp, que de nuevo depende de LibUSB y libiconv que se debe usar para compilarlo ... – Norfeldt

1

Simplemente conectando un cable usb entre el teléfono y la computadora debería funcionar.

Es posible que sea necesario habilitar las transferencias MTP en el menú de configuración de su teléfono. Es probable que la ubicación de selección del menú sea diferente en diferentes versiones de Android y en diferentes modelos de teléfono. Pruebe una búsqueda en google de "galaxias nexus enable mtp". Asegúrese de incluir su versión de Android y teléfono en la búsqueda.

Asegúrese de que es un cable usb de buena calidad. Los cables de baja calidad no harán una buena conexión y, por lo tanto, no funcionarán de manera confiable.

un cuadro de diálogo de gestión de archivos aparece de inmediato en mi escritorio después de conectar un cable USB entre el teléfono y la computadora portátil que muestra tanto el almacenamiento interno del teléfono y la tarjeta SD. Esto me permite transferir archivos en ambos sentidos directamente al almacenamiento SD del teléfono (Linux Mint < -> LG Android versión 5.1)

Tenga en cuenta que también es posible transferir archivos mediante bluetooth.

Después de establecer una conexión, debe encontrar el nombre del dispositivo. Entonces sería posible abrir el dispositivo utilizando construcciones estándar de archivos python, es decir, popen(), etc.

+1

No se trata de cable. Se trata de cómo se puede escribir un archivo en el teléfono (a través de FTP) con el código de Python. ** No ** es tan simple como ' con open ('mtp: //SamsungA3/hello.txt', 'w') como f: f.write ('hello') '... – Basj

Cuestiones relacionadas