Найти - Пользователи
Полная версия: Командная строка и работа с директориями на Python
Начало » Центр помощи » Командная строка и работа с директориями на Python
1
schtutshtuerkuu
Приветствую! Препод дал следующее задание. Написать на питоне командную строку, которая может работать с директориями и делать дубликаты файлов.
На эту тему не нарыл практически ничего, кроме модуля shutil. Но уровень знаний не позволяет понять, как всё же создать программу с интерфейсом, куда можно будет вводить определённые команды.
Ох, тяжело.

Выручите, пожалуйста!
PEHDOM
schtutshtuerkuu
как всё же создать программу с интерфейсом, куда можно будет вводить определённые команды.
да все также банальным инпутом,
 import os
from shutil import copyfile
current_path = os.path.abspath('.') # текущий путь
def ls():  #процедура вывода списка файлов\папок
    files = os.listdir(current_path)
    for file in files:
        if os.path.isdir(os.path.join(current_path, file)):
            print('[{}]'.format(file), end=' ')  # папки выводим в квадратных скобках
        else:
            print(file, end=' ')
    print()
def cp(from_, to): # процедура копирования
    try:
        copyfile(from_, to)
    except IOError as e:
        print(e)
    else:
        print('file {} copied sucsess'.format(from_))
while True:
    command = input('{}#'.format(current_path))
    args = command.split()
    if len(args) > 0:
        if args[0] == 'exit': # если набрали exit - выходим из программы
            break
        elif args[0] == 'ls':  # если набрали ls  - показать ссписок файлов и папок
            ls()
        elif args[0] == 'cp': # если набрали cp  - скопировать
            cp(args[1], args[2])
        else:   # Иначе печатаем что комманда нам  неизвевтна
            print('unknown command: {}'.format(args[0]))
по комманде ls оно выводит список файлов\папок в текущей директории, по комманде cp file1 file2 копирует, по комманде exit заврешает работу.
Думаю прнцип понятен. Остальное допишете сами, проверки всякие там и другие комманды.
schtutshtuerkuu
PEHDOM
Спасибо!!!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB