Вот пример того, как сделать интерактивный ввод-вывод с помощью программы командной строки. Я использовал нечто подобное для создания проверки орфографии на основе утилиты командной строки ispell
:
f = popen2.Popen3("ispell -a")
f.fromchild.readline() #skip the credit line
for word in words:
f.tochild.write(word+'\n') #send a word to ispell
f.tochild.flush()
line = f.fromchild.readline() #get the result line
f.fromchild.readline() #skip the empty line after the result
#do something useful with the output:
status = parse_status(line)
suggestions = parse_suggestions(line)
#etc..
Единственная проблема с этим заключается в том, что это очень хрупкий процесс, основанный на методе проб и ошибок, который гарантирует, что вы не отправляете плохие входные данные и обрабатываете все различные выходные данные, которые может выдать программа.