Скопируйте файлы MTP для Android с помощью linux-терминала или python; Ошибка Операция не поддерживается

7

Я пытаюсь создать свой собственный скрипт python для резервного копирования изображений Android. Я могу хорошо видеть Android, и я могу перемещать файлы туда и обратно с помощью nautilus, но не из CLI

ошибка CLI: «Операция не поддерживается»

[email protected]:/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

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

любая идея или альтернативный способ, пожалуйста?

    
задан client eastwood 23.08.2014 в 00:47
источник

2 ответа

1

Используйте gvfs-copy вместо cp . Например:

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

Для выполнения этой команды в python вы можете использовать os.system :

import os
os.system('gvfs-copy "mtp://[usb:002,06]/Phone/Download/DSC03951.JPG" /home/hkhrais/Desktop/')
    
ответ дан mhsekhavat 14.06.2016 в 13:46
1

попробуйте использовать ptp (я получил ту же ошибку при использовании MTP), но PTP работал. из настроек вы можете изменить, как телефон Android появится на вашем компьютере при подключении устройства, у Android 5 есть два варианта: PTP и MTP.

    
ответ дан user8768313 13.10.2017 в 02:07