Форум сайта python.su
Добрый вечер!
Подскажите что я сделал не верно.
Вроде с функцией все норм, да не совсем )
ошибка внизу.
#coding : utf-8 import os import sys import shutil import psutil def duplicate_file(input1): newfile = file_list[input1] + '.dupl' shutil.copy(file_list[input1], newfile) if os.path.exists(newfile): print("Файл", file_list[input1], "Скопирован") else: print("Возникли проблемы при копировании") def sys_info (): print("Информация о системе: ") print("Имя текущей директории: ", os.getcwd()) print("Платформа ОС: ", sys.platform) print("Кодировка файловой системы: ", sys.getfilesystemencoding()) print("Логин текущего пользователя: ", os.getlogin()) print("Колличество CPU: ", psutil.cpu_count()) print("Величайшая программа на python! ") print("привет!") name = input("Ваше имя: ") print("Привет, ", name,"Добро пожаловать!") answer = '' file_list = os.listdir() while answer != 'q': answer = input("Давай поработаем? (Y/N/Q)") if answer == 'y': print("Отлично!") print("список действий: ") print("[1] - Вывести список файлов") print("[2] - Вывести информацию о системе") print("[3] - Вывести список процессов") print("[4] - Продублировать все файлы в текущей директории") print("[5] - Дублировать файл по номеру") print("[6] - Удалить все копии файлов с расширением '.dupl'") do = int(input("Введите номер действие: ")) if do == 1: print(os.listdir()) elif do == 2: sys_info() elif do == 3: print(psutil.pids()) elif do == 4: print("Файлы продублированы.") file_list = os.listdir() i = 0 while i < len(file_list): if os.path.isfile(file_list[i]): newfile = file_list[i] + '.dupl' shutil.copy(file_list[i], newfile) i += 1 elif do == 5: i = 0 while i < len(file_list): print('[',i,']', file_list[i]) i += 1 input1 = int(input("Выберите файл по номеру: ")) duplicate_file(input1) elif do == 6: sure = input("Вы уверены что хотите удалить копии всех файлов? (Y/N)") if sure == 'y': for f in file_list: fullname = f if fullname.endswith('.dupl'): os.remove(fullname) print("Файлы-дубликаты удалены.") else: pass else: pass elif answer == 'n': print("До свидания!") else: print("Неизвестный ответ")
Офлайн
В переводчик закинь информацию об ошибке, оно тебе четко переведет.
Отредактировано Romissevd (Авг. 27, 2018 23:56:20)
Офлайн
Romissevd
В переводчик закинь информацию об ошибке, оно тебе четко переведет.
Офлайн