使用linux终端或python复制Android MTP文件; 错误操作不受支持

cli*_*ood 9 python linux ubuntu android ubuntu-14.04

我正在尝试创建自己的python脚本来备份Android images.i可以看到Android安装良好,我可以使用nautilus来回移动文件,但不能从CLI移动文件

CLI错误是"不支持操作"

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
Run Code Online (Sandbox Code Playgroud)

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'
Run Code Online (Sandbox Code Playgroud)

Android 4.2.2 Python 2.7 Ubuntu 14.4

有什么想法或替代方式吗?

mhs*_*vat 5

使用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/')
Run Code Online (Sandbox Code Playgroud)

  • 现在它是“gio copy”而不是gvfs-copy。 (3认同)