I have a program called increment.py as follows: #!/usr/bin/python n = 0 while True: n = int(raw_input(n)) + 1 This is probably very easy to understand, but I want to run this program from another python program. Below is an attempt
>>> from subprocess import * >>> p = Popen(["python", "increment.py"], stdin=PIPE, stdout=PIPE) >>> p.communicate("5") Traceback (most recent call last): File "increment.py", line 4, in <module> n = int(raw_input(n)) + 1 EOFError: EOF when reading a line ('06', None) >>> p.communicate("7") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.6/subprocess.py", line 701, in communicate return self._communicate(input) File "/usr/lib/python2.6/subprocess.py", line 1184, in _communicate self.stdin.flush() ValueError: I/O operation on closed file How do I make sure the inputstream stays open after the first call to communicate? -- http://mail.python.org/mailman/listinfo/python-list