У меня есть скрипт на python, который пытается выполнять внешние программы.
Мой проект включает в себя говорящего бота Python, с помощью которого клиент должен иметь возможность выполнять команды в удаленном терминале.
Таким образом, в основном модуль, включающий говорящего бота, позволяет мне только получать входные данные и отправлять выходные данные. Мне нужно взять входные данные и посмотреть, является ли это командой терминала и выполнить ее.
Итак, я использовал объект subprocess.Popen для реализации этого.
Проблема в том, что если команда вызывает интерактивную программу, т.е. ждет ввода и выдаёт вывод, я не могу с этим справиться. В лучшем случае, Попен ждет всех входов и затем выдает результат.
Есть ли способ сделать это правильно, т.е. запустить внешнюю программу и отправить ввод, получить вывод; отправлять ввод, получать вывод и т. д.