Moving to subprocess from os.popen--pipe closes prematurely

Martin P. Hellwig martin.hellwig at
Fri Dec 12 10:47:39 CET 2008

Kevin Walzer wrote:
> Hello,
> I'm trying to move from os.popen to using subprocess, and I'm having 
> trouble with the pipe suddenly closing.
> My old code looked something like this:
<cut code and rest>

Hi Kevin,

You could try something more like:
 >>> import subprocess
 >>> cmd = subprocess.Popen([executable_path, executable_options], 
stdout=subprocess.PIPE, stdout=subprocess.PIPE)
 >>> std_out, std_err = cmd.communicate(standard_in_value)

std_out is a string though, you probably need to split it on newline to 
get the same sort of list and since it is buffered in memory you 
probably don't want to use .communicate if you expect megabytes of data 


More information about the Python-list mailing list