Sigue: Paso de comandos a un programa desde Python

Hernan Martinez Foffani hernan en orgmf.com.ar
Mar Sep 10 10:54:42 CEST 2002


> El caso es que el programa se para en la instrucción
> lin = salida.read(32). He probado con otros tamaños de buffer
> pero nada. También he probado con otros métodos de file
> (readline, redlines...) con el mismo resultado.
> He utilizado popen2 y popen4 con los mismos resultados, no
> hay mensaje de error pero se para.

podrías intentar hacer entrada.flush() luego del write.
pero si no tenés una nocion de cuanto de va a enviar
el programa para leer, no te quedan muchas opciones.
read() lee hasta fin de archivo y no te sirve en tu caso.
readline() podría ser, pero tenés que saber cuando
parar.  la solucion propuesta por Chema parece la mejor.

(desde ya que damos por supuesto que "overnet < ent > sal"
funciona, no?)

-H.





Más información sobre la lista de distribución Python-es