Я работаю над школьным проектом, целью которого является сканирование добавленных изображений в папку, а затем копирование указанных изображений в папку назначения. из поиска в интернете я пришел к выводу, что для копирования файлов мне нужно использовать 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 '