ошибка разрешения в shutil.move или shutil.copy - PullRequest
0 голосов
/ 16 января 2019

Я работаю над школьным проектом, целью которого является сканирование добавленных изображений в папку, а затем копирование указанных изображений в папку назначения. из поиска в интернете я пришел к выводу, что для копирования файлов мне нужно использовать shutil.move или shutil.copy, но в обоих случаях я получаю ошибку разрешения. Я искал много тем с похожими проблемами, но никто не помог. Я действительно оценил бы помощь.

import os
import win32file
import win32con
import shutil

ACTION = {1:"Created"}
FILE_LIST_DIRECTORY = 0x0001

source=raw_input("enter source file path:")
dest=raw_input("enter dest file path:")

path_to_watch = "."
hDir = win32file.CreateFile (
  source,
  FILE_LIST_DIRECTORY,
  win32con.FILE_SHARE_READ | win32con.FILE_SHARE_WRITE | 
  win32con.FILE_SHARE_DELETE,
  None,
  win32con.OPEN_EXISTING,
  win32con.FILE_FLAG_BACKUP_SEMANTICS,
  None
)
while 1:
  results = win32file.ReadDirectoryChangesW (
    hDir,
    1024,
    True,
    win32con.FILE_NOTIFY_CHANGE_FILE_NAME |
     win32con.FILE_NOTIFY_CHANGE_DIR_NAME |
     win32con.FILE_NOTIFY_CHANGE_ATTRIBUTES |
     win32con.FILE_NOTIFY_CHANGE_SIZE |
     win32con.FILE_NOTIFY_CHANGE_LAST_WRITE |
     win32con.FILE_NOTIFY_CHANGE_SECURITY,
    None,
    None
  )
  for action, file in results:
    if action in ACTION:
      full_filename = os.path.join (path_to_watch, file)
      typee = full_filename.split(".")[len(full_filename.split("."))-1]
      print typee
      if typee=="jpg":
        print source+full_filename
        shutil.move(source+full_filename,dest)
        print full_filename, action

Я ожидал, что файл будет скопирован в dest, но вместо этого я получил следующую ошибку: Ошибка ввода-вывода: [ошибка 13] Отказано в доступе: u'C: \ Users \ idoha \ OneDrive \ Desktop \ com \ testfile. \ 20180819_120455.jpg '

...