Python CMD - удобная командная строка для работы с Python
Python cmd (command-line interface) - это модуль, который позволяет создавать интерактивные командные интерфейсы для выполнения скриптов на Python. Он предоставляет удобный способ взаимодействия с пользователем и обрабатывает команды ввода-вывода.
Рассмотрим пример использования модуля cmd. Допустим, нам нужно создать простую командную оболочку, которая позволяет нам выполнить несколько предопределенных команд. Для начала, импортируем модуль cmd и создадим класс, наследующийся от класса Cmd:
import cmd
class MyCmd(cmd.Cmd):
prompt = 'МояКонсоль> '
def do_hello(self, arg):
"""Пример команды hello"""
print("Привет, мир!")
def do_add(self, arg):
"""Пример команды add"""
num1, num2 = arg.split()
try:
result = int(num1) + int(num2)
print(f"Результат: {result}")
except ValueError:
print("Пожалуйста, введите два числа!")
def do_exit(self, arg):
"""Завершение работы программы"""
print("До свидания!")
return True
if __name__ == '__main__':
MyCmd().cmdloop()
В этом примере мы определяем класс MyCmd, который наследуется от класса Cmd. Мы присваиваем переменной prompt значение "МояКонсоль>", чтобы обозначить, что строка ввода нашей консоли будет начинаться с этой фразы.
Затем мы определяем несколько команд, таких как do_hello, do_add и do_exit. Эти методы начинаются с префикса "do_", что является соглашением в модуле cmd. Внутри этих методов мы выполняем определенные действия в соответствии с командами.
Для примера, команда do_hello просто выводит фразу "Привет, мир!". Команда do_add принимает два числа в качестве аргументов, складывает их и выводит результат. Команда do_exit просто завершает выполнение программы.
Чтобы запустить эту командную оболочку, мы вызываем метод cmdloop() для объекта MyCmd. Этот метод стартует бесконечный цикл, который принимает команды от пользователя и выполняет соответствующие методы.
Давайте запустим нашу командную оболочку и проверим ее работу:
МояКонсоль> hello
Привет, мир!
МояКонсоль> add 5 10
Результат: 15
МояКонсоль> exit
До свидания!
Как видно из примера, мы успешно вызвали команды hello, add и exit, и получили ожидаемые результаты. Модуль cmd предоставляет удобный способ создания командной оболочки с минимальными усилиями.
Кроме того, модуль cmd предоставляет встроенные функции для автоматического завершения команд, подсказок и истории команд. Вы также можете настроить поведение команды, переопределив соответствующие методы, такие как complete_command, postcmd и т.д.
В заключение, модуль cmd является мощным инструментом для создания интерактивных командных интерфейсов на Python. Он предоставляет удобный способ взаимодействия с пользователем и обработки команд ввода-вывода. Используйте его, чтобы создавать собственные командные оболочки с минимальными усилиями и максимальной гибкостью.