Python: копирование содержимого каталога c: \ FLASH на все подключенные USB-накопители - PullRequest
0 голосов
/ 01 ноября 2018

Мне нужно скопировать некоторые документы, папки и файлы из одного каталога на локальном диске на все подключенные USB-накопители.

Если место назначения также является папкой, все работает, но если место назначения - это USB-диск root, тогда я всегда получаю сообщение об ошибке:

Ошибка: [WinError 5] Доступ запрещен: 'E: \\'

Я думаю, что проблема во втором обратном слэше.

import wmi
import os
import shutil
import pathlib
import errno

src = pathlib.WindowsPath("c:/FLASH")

def clone(src, dst):
    try:
        shutil.copytree(src, dst)
    except OSError as e:
        if e.errno == errno.ENOTDIR:
            shutil.copy(src, dst)
        elif e.errno == errno.EACCES:
            print('Error: %s' % e)
    else:
        print('Error: %s' % e)


c = wmi.WMI()
for drive in c.Win32_LogicalDisk():
    print(drive.Caption, drive.Description)
    if drive.DriveType == 2:
        dst = pathlib.PureWindowsPath(drive.Caption, '\\')
        clone(src, dst)
...