At Monday 15/1/2007 07:24, diego wrote:

I'm trying to understand how popen2 works. Found in this group, that
popen2.popen2 can cause trouble so i chose win32pipe.popen2.

have a look a the listing of 2 files:
ekmain.py:
**************
import win32pipe

(stdin1, stdout1) = win32pipe.popen2("test1.py")
stdin1.write("1\n")
print stdout1.readlines() # This will print the result.
**************

test1.py:
**************
a=raw_input("a=")
print "***a=",a
print "finished!"
**************


i do not understand, why ekmain.py produces only following output:
['a=']

why is the stdin1.write("1\n") command ignored?

Using popen4 instead of popen2 we get stderr too, and there is a traceback:
['a=Traceback (most recent call last):\n', ' File "C:\\TEMP\\test1.py", line 1,
 in ?\n', '    a=raw_input("a=")\n', 'EOFError: EOF when reading a line\n']

Using "python test1.py" as the popen4 argument we get the expected result:

C:\TEMP>main.py
['a=***a= 1\n', 'finished!\n']

(I don't know why)

p.s.: i working with python 2.3 on win2000.

I used 2.4 on XPSP2.


--
Gabriel Genellina
Softlab SRL

        

        
                
__________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to