с помощью языка python подпроцесса и к popen в одного скрипта запустить другой скрипт на python, который требует взаимодействия с пользователем (по raw_input)

проблема у меня заключается в следующем, и я буду использовать простой пример, чтобы проиллюстрировать это. я написал скрипт на python, который требует взаимодействия с пользователем, в частности, она использует raw_input() функция, чтобы получить ввод пользователя. приведенный ниже код просит пользователя ввести два числа подряд (нажимая enter между каждым), и возвращает ответ (сюрприз, сюрприз, он называется sum_two_numbers.py'). хо-хум!

#! /usr/bin/python#  -------------------#  sum_two_numbers.py#  -------------------#  this script asks the user for two numbers and returns the sum!a = float(raw_input("enter the first number:"))b = float(raw_input("enter the second number:"))print a+b
subprocess

теперь, я хочу написать отдельный скрипт на python, который выполняет скрипт, приведенный выше, и 'кормит' два необходимых количествах, чтобы он. я отсюда позвонить feeder.py этот скрипт'. я пытался написать этот скрипт, используя модуль в python ", а конкретно с помощью к popen' class и метод связанных 'общаться'. ниже приведен скрипт, чтобы накормить цифры '5' и '4'.

#! /usr/bin/python#  ----------#  feeder.py#  ----------import subprocesschild = subprocess.popen("./sum_two_numbers.py",stdin=subprocess.pipe)child.communicate("5")child.communicate("4")

этот код не работает, и возвращает ошибки при выполнении:

$ ./feeder.pyenter the first number:enter the second number:traceback (most recent call last):  file "./sum_two_numbers.py", line 6, in <module>    b = float(raw_input("enter the second number:"))eoferror: eof when reading a linetraceback (most recent call last):  file "./feeder.py", line 8, in <module>    child.communicate("4")  file "/usr/lib/python2.7/subprocess.py", line 740, in communicate    self.stdin.write(input)valueerror: i/o operation on closed file

я не знаю, как написать feeder.py так что он будет делать то, что я хочу, эти ошибки продолжают сдерживать меня. я подозреваю, что эта ошибка возникает из-за следующий комментарий в документации:

<р>к popen.общаться(вход=нет)</р>

<р>взаимодействовать с процессом: отправить данные в stdin. данные читать из stdout и stderr, пока конец файла не достигнут. ждать завершения.</п>

я не уверен, что сделать этого предложения, и как он может помочь мне...

может кто-нибудь помочь мне сделать выше работы скрипта, т. е. как правильно использовать подпроцесс и к popen... или просто как написать 'фидер' скрипт - в любом (не слишком непонятных) язык! я пробовал pexpect, ожидал, но столкнулся с проблемами, как не вывода запросов ребенка код для входа и меня просто вообще не имея понятия, что делает его.