Linux在插入时复制所有挂载的USB - 包括android + apple设备

时间:2016-02-11 03:11:28

标签: android python python-3.x ubuntu usb

Ubuntu用户在这里。我正在寻找一种方法将所有闪存驱动器和手机/平板电脑数据复制到指定的文件夹插入时。下面的python代码适用于闪存驱动器,但由于某种原因它不能在我的Android手机或平板电脑上工作。此外,我想只复制图片和视频文件扩展名。我的目的是在拍摄一天后回家并插上我的所有设备并将照片和视频复制完毕。谢谢!

import subprocess
import time
import shutil

    #--
    target_folder = "/path/to/target_folder"
    excluded = ["media_extern"]
    #--

    def get_mountedlist():
        return [(item.split()[0].replace("├─", "").replace("└─", ""),
                 item[item.find("/"):]) for item in subprocess.check_output(
                ["/bin/bash", "-c", "lsblk"]).decode("utf-8").split("\n") if "/" in item]

    def identify(disk):
        command = "find /dev/disk -ls | grep /"+disk
        output = subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8")
        if "usb" in output:
            return True
        else:
            return False

    done = []
    while True:
        mounted = get_mountedlist()
        new_paths = [dev for dev in get_mountedlist() if not dev in done and not dev[1] == "/"]
        valid = [dev for dev in new_paths if (identify(dev[0]), dev[1].split("/")[-1]  in excluded) == (True, False)]
        for item in valid:
            target = target_folder+"/"+item[1].split("/")[-1]
            try:
                shutil.rmtree(target)
            except FileNotFoundError:
                pass
            shutil.copytree(item[1], target)
        done = mounted
        time.sleep(4)here

0 个答案:

没有答案