Создание интерфейса командной строки (CLI) с помощью модуля cmd
Модуль cmd
позволяет написать для вашей программы простой текстовый пользовательский интерфейс в виде командной строки.
Такой интерфейс может быть полезен:
На стадии прототипирования или для тестирования программы.
Когда программа запускается на сервере без графической оболочки
Когда нужен действительно очень простой и примитивный пользовательский интерфейс
В качестве примера на странице документации приведен интерфейс для управления черепашкой, он хорошо показывает основной функционал модуля, который включает в себя:
Запуск основного цикла приложения
Небольшие настройки выводимого в описания и приглашения командной строки
Автоматический поиск методов для вызова, по введенной команде
Автоматическая генерация документации для команд
Добавление некоторых автоматических обработчиков
Минимальный пример
import cmd
class Shell(cmd.Cmd):
def do_make(self, arg):
"""Documentation"""
...
if __name__ == '__main__':
Shell().cmdloop()
Основное использование cmd
сводится к тому что вы определяете методы вида do_xxx
, которые вызываются при вводе команды xxx
, текст введенный через пробел после команды, интерпретируется как аргумент команды.