From 3d1e929dd8764b2abcac2ea58ed08f509ff828b9 Mon Sep 17 00:00:00 2001 From: malostone <46139250+malostone@users.noreply.github.com> Date: Sat, 19 Jan 2019 02:53:02 +0300 Subject: [PATCH 1/2] Add files via upload MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit сделан уровень easy --- easy_5.py | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 easy_5.py diff --git a/easy_5.py b/easy_5.py new file mode 100644 index 0000000..57dd1bf --- /dev/null +++ b/easy_5.py @@ -0,0 +1,54 @@ +import os +import sys +import shutil + +# Задача-1: +# Напишите скрипт, создающий директории dir_1 - dir_9 в папке, +# из которой запущен данный скрипт. +# И второй скрипт, удаляющий эти папки. + +dir_path = os.path.join(os.getcwd(), "dir_") + +def create_dir(): + for i in range(1,10): + try: + os.mkdir(dir_path + str(i)) + except FileExistsError: + return("Директории уже существуют") + +# Задача-2: +# Напишите скрипт, отображающий папки текущей директории. + +def list_dir(): + dir_list = os.listdir() + list1 = [] + list2 = [] + for i in dir_list: + if i.endswith('.py'): + list2.append(i) + else: + list1.append(i) + return list1 + + + +def delete_dir(): + i = 0 + dir_list = os.listdir() + while i < len(dir_list): + os.rmdir(dir_list[i]) + i += 1 + +# Задача-3: +# Напишите скрипт, создающий копию файла, из которого запущен данный скрипт. + +def copy_current_file(): + current_file = os.path.realpath(__file__) + copy_file = current_file.replace('.py', '_copy.py') + shutil.copy(current_file, copy_file) + + +print(create_dir()) +print(list_dir()) +print(copy_current_file()) + From 43e0ed908012bf50c1c538ea74bb83d24028e42f Mon Sep 17 00:00:00 2001 From: malostone <46139250+malostone@users.noreply.github.com> Date: Sat, 19 Jan 2019 23:44:38 +0300 Subject: [PATCH 2/2] Add files via upload MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Для функций создал отдельный файл scripts, а не импортировал их из easy т.к. как там по заданию используются немного другие функции чем нужны в задании normal. --- normal_5.py | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ scripts.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 normal_5.py create mode 100644 scripts.py diff --git a/normal_5.py b/normal_5.py new file mode 100644 index 0000000..67e0cf7 --- /dev/null +++ b/normal_5.py @@ -0,0 +1,50 @@ +# Задача-1: +# Напишите небольшую консольную утилиту, +# позволяющую работать с папками текущей директории. +# Утилита должна иметь меню выбора действия, в котором будут пункты: +# 1. Перейти в папку +# 2. Просмотреть содержимое текущей папки +# 3. Удалить папку +# 4. Создать папку +# При выборе пунктов 1, 3, 4 программа запрашивает название папки +# и выводит результат действия: "Успешно создано/удалено/перешел", +# "Невозможно создать/удалить/перейти" + + +import scripts +from os import listdir + +def main(): + print("Добро пожаловать! ") + answer='' + while answer != 'N': + answer = input("Работаем? (Y/N)") + if answer == 'Y' : + print("Я умею:") + print(" [1] - Перейду в выбраную папку") + print(" [2] - Файлы в текущей директории") + print(" [3] - Удалю выбраную папку") + print(" [4] - Создам папку") + do = int(input("Какое действие сделать? ")) + if do == 1: + print("Список папок в этой директории", scripts.list_dir()) + dirname = input("В какую директорию перейти? ") + scripts.change_dir_path(dirname) + elif do == 2: + print("Файлы в текущей директории: ", listdir()) + elif do == 3: + print("Список папок в этой директории", scripts.list_dir()) + del_dir = input("Укажите имя папки которую нужно удалить: ") + scripts.delete_dir(del_dir) + elif do == 4: + new_dir = input("Укажите имя папки: ") + scripts.create_dir(new_dir) + else: + pass + elif answer == 'N': + print("Всего хорошего") + else: + print("Непонятная команда") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/scripts.py b/scripts.py new file mode 100644 index 0000000..5058f32 --- /dev/null +++ b/scripts.py @@ -0,0 +1,46 @@ +#scripts + +import os + +def change_dir_path(dirname): + if not dirname: + print("Нужно указать имя директории") + return + try: + os.chdir(dirname) + return print("Вы перешли в директорию ", dirname) + except FileNotFoundError: + return print("Невозможно перейти в эту директорию") + +def create_dir(new_dir): + if not new_dir: + print("Нужно указать имя новой папки") + return + try: + os.mkdir(new_dir) + return print("Папка", new_dir, "была успешно создана") + except FileExistsError: + return print("Папка", new_dir, "уже создана") + +def delete_dir(del_dir): + if not del_dir: + print("Нужно указать имя папки которую хотите удалить") + return + try: + os.rmdir(del_dir) + return print("Вы удалили папку ", del_dir) + except FileExistsError: + return print("Невозможно удалить ", del_dir) + except FileNotFoundError: + return print("Такой папки не существует ", del_dir) + +def list_dir(): + dir_list = os.listdir() + list1 = [] + list2 = [] + for i in dir_list: + if i.endswith('.py'): + list2.append(i) + else: + list1.append(i) + return list1 \ No newline at end of file