Добрался уже до создания циклов и дублирования файлов в текущей директории. Написал небольшой код, код домашнее задание который выполняет разные действия. Очередное действие которое он должен выполнить, это про дублировать файлы из текущей директории.
import os import sys import psutil import shutil print('PC Scanner') name = input('Назовите свое имя: ') print("Добро пожаловать в компьютерный сканнер," ,name) answer = '' while answer != 'q': answer = input("Желаете чтобы я выполнял ваши задания? (Y/N/q)") if answer == 'Y': print("Я этому очень рад хозяин!") print("Вот что я умею на данный момент:") print(" [1] - выведу список файлов") print(" [2] - выведу информацию о системе") print(" [3] - выведу список процессов") print(" [4] - продублирую список файлов в текущей директории") do = int(input("Укажите какое действие выполнить")) if do == 1: print(os.listdir()) elif do == 2: print("Вот что я знаю о системе:") print("Количество процессоров: ", psutil.cpu_count()) print("Платформа: ", sys.platform) print("Кодировка файловой системы: ", sys.getfilesystemencoding()) print("Текущая директория: ", os.getcwd()) print("Текущий пользователь: ", os.getlogin()) elif do == 3: print(psutil.pids()) elif do == 4: print("Дублирование файлов в текущей директории") file_list = os.listdir() i = 0 while i < len(file_list): newfile = file_list[i] + '.dupl' shutil.copy(file_list[i], newfile) # копируй i += 1 else: pass # type, dir, help elif answer == 'N': print("Good Bye!") else: print("Unknown command")
Вроде бы всё сделал как по учебнику, но когда запускаю код, выскакивает ошибка:
Traceback (most recent call last): File "C:\Users\BaDi\Desktop\pc_robot.py", line 40, in <module> shutil.copy(file_list[i], newfile) # копируй File "C:\Users\BaDi\AppData\Local\Programs\Python\Python35\lib\shutil.py", line 235, in copy copyfile(src, dst, follow_symlinks=follow_symlinks) File "C:\Users\BaDi\AppData\Local\Programs\Python\Python35\lib\shutil.py", line 114, in copyfile with open(src, 'rb') as fsrc: PermissionError: [Errno 13] Permission denied: 'Новая папка (2)'
Помогите пожалуйста разобраться в чем дело.
P.S. Я так понимаю всё дело в том что для запуска кода нужны права администратора? Если да, то как именно нужно всё это дело запускать?