Sigue: Paso de comandos a un programa desde Python
Tomás Javier Robles Prado
tjavier en usuarios.retecal.es
Lun Sep 9 23:16:02 CEST 2002
> popen4() te podría servir.
> en pseudo codigo seria:
>
> in, out = popen4("overnet")
> while 1:
> cmd = raw_input("> ")
> if cmd == "fin":
> break
> in.write(cmd)
> print out.read()
> in.close()
> out.close()
>-Hernan
Gracias Hernán, pero aún tengo problemas.
OVERNET = "./overnet0.29.1"
import popen2
import time
salida, entrada = popen2.popen2 (OVERNET)
while (1):
entrada.write("?")
lin = salida.read(128)
print lin
time.sleep (10)
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.
Otra cosa, como podría ir guardando un log de las salidas del programa? La
verdad que no sé cómo acceder al fichero salida.
Gracias de nuevo
--
Un saludo,
T. Javier Robles Prado tjavier en usuarios.retecal.es
http://users.servicios.retecal.es/tjavier
Más información sobre la lista de distribución Python-es