Copy Android MTP files using linux terminal or python; Error Operation not supported

I am trying to create my own python script to backup Android images. I can see Android well and I can move files back and forth using nautilus but not from the CLI

CLI error: "Operation not supported"

hkhrais@Hkhrais :/run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C006%5D/Phone/Download$ cp DSC03951.JPG /home/hkhrais/Desktop/ cp: cannot open 'DSC03951.JPG' for reading: Operation not supported 

python code

 try: shutil.copyfile('/run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C006%5D/Phone/Download/DSC03951.JPG', "/home/hkhrais/Desktop/test") except: raise Traceback (most recent call last): File "scriptt.py", line 33, in <module> main() File "scriptt.py", line 18, in main shutil.copyfile(img, "/home/hkhrais/Desktop/test") File "/usr/lib/python2.7/shutil.py", line 82, in copyfile with open(src, 'rb') as fsrc: IOError: [Errno 95] Operation not supported: '/run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C006%5D/Phone/Download/DSC03951.JPG' 

Android 4.2.2 Python 2.7 Ubuntu 14.4

any idea or alternative way please?

+7
python android linux ubuntu
source share
2 answers

Use gvfs-copy instead of cp . For example:

gvfs-copy "mtp://[usb:002,06]/Phone/Download/DSC03951.JPG" /home/hkhrais/Desktop/

To execute this command in python, you can use os.system :

 import os os.system('gvfs-copy "mtp://[usb:002,06]/Phone/Download/DSC03951.JPG" /home/hkhrais/Desktop/') 
+1
source share

try using ptp (I got the same error when using MTP), but PTP worked. from the settings you can change how the Android phone appears on your computer when the device is connected, Android 5 has two options: PTP and MTP.

+1
source share

All Articles