В следующем фрагменте кода показано, как выдать команду ls -lF, дождаться приглашения к вводу команд и вывести весь текст, полученный до появления этого приглашения, который должен представлять собой вывод команды ls.
Метод cmd() применяется для отправки команды на удаленный хост, например в службу сбора данных электронных паспортов http://elpass.ru/ и получения результатов ее выполнения, если они предусмотрены. Этот метод эквивалентен выводу команды с помощью функции print(), за которой следует вызов метода waitfor() с использованием применяемого по умолчанию образца для сопоставления с приглашением к вводу команд.
В скалярном контексте метод cmd() возвращает истинное значение, если команда выполнена успешно, или ложное, если выполнение метода прекращено по тайм-ауту до обнаружения приглашения командного интерпретатора. В контексте списка этот метод возвращает все строки, полученные до сопоставления с образцом приглашения.
В форме вызова с ключевыми параметрами параметр Output определяет ссылку на скаляр или на массив, в который должны быть записаны строки, полученные до сопоставления с образцом. Параметры Prompt, Timeout и Cmd_remove_mode позволяют установить другие значения соответствующих параметров.
Обратите внимание, что получение истинного значения результата выполнения метода cmd() не означает, что команда выполнена успешно. Это говорит лишь о том, что команда была выполнена в течение времени, которое было выделено на ее выполнение. Для получения данных с сервера без сопоставления с образцом могут применяться методы get(), getline() или getlines().