Этот вопрос (" Что может ожидать Expect, а Pexpect не может ") немного вводит в заблуждение.Дело не в том, что Pexpect не может делать то, что может ожидать;это то, что Expect имеет много дополнительной поддержки, чтобы упростить этот вид программирования.
В качестве примера возьмем команду взаимодействия, которая позволяет пользователю напрямую взаимодействовать с порожденным процессом.В Pexpect это все, что взаимодействует.(И, как вы говорите, этого может быть достаточно для ваших нужд.) В отличие от этого, взаимодействие Expect поддерживает обнаружение паттернов во время взаимодействия, объединение нескольких порожденных процессов и т. Д. Конечно, вы можете делать все это, кодируя его самостоятельно.Но ваш код будет длиннее - иногда намного длиннее, потому что вам, по сути, придется переписать свой собственный интерфейс, вам придется отлаживать его и т. Д. Фактически, вы, возможно, уже сталкивались с этими ситуациями, но не понимали, насколько прощеэквивалентный код Expect будет.
Конечно, дополнительная поддержка может быть более чем компенсирована вашими предпочтениями Python.: -Р