Есть некая программа (20 мб бинарник и не быстрая) , работает только в командной строке:
После запуска приглашает promt-ом к диалогу. Вводишь слово- Enter- она выдает слово-результат своей работы.
Затем программа не закрывается- её курсор стоит в конце слова-результата, приглашает к следующей итерации «слово -> результат» .
Мне нужна функция в Pythone, которая получает результат, обращаясь к этой программе. Я ее написал в pexpect :
def stm(z):
p=pexpect.spawn('path-to-the-application')
p.setecho(False)
p.delaybeforesend=0
p.delayafterclose=0
p.delayafterterminate=0
p.expect(«program's prompt»)
p.sendline(z)
p.expect(".+")
return p.after
Она делает что надо -вовзращает результат обработки слова. Но по непонятным мне причинам она закрывает программу после обработки слова - этого нет если всё делать руками. Полагаю, что каждый раз вызывать программу в 20 мб с диска - времязатратно... Есть идеи, как подкрутить скрипт, чтобы после обработки слова консольная программа ждала обработки следующего слова, а не закрывалась?