I have a file called increment.py as follows: #!/usr/bin/python n = 0 while True: n = int(raw_input(n)) + 1 This is easy to understand, but I want to pipe it's input/output by another python program. (I will show what I am doing on the console to test it)
>>> 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 The problem is that I want to use communicate multiple times before closing the file. How could I achieve this -- http://mail.python.org/mailman/listinfo/python-list