Redirigir salida estandar
Diego Chaparro
dchapar.madrid en sinvest.es
Mie Jun 4 16:32:59 CEST 2003
pbarrera en tsc.uc3m.es wrote:
> On Wed, 2003-06-04 at 16:22, Diego Chaparro wrote:
>> ¿Cómo puedo redirigir a un fichero la salida estándar de un programa?
>>El programa tiene muchos print, y quiero la salida del mismo se guarde
>>en un fichero. He probado con:
>> import sys
>> sys.stdout = open ("fichero.log", "a")
>
> A mi si me funciona eso. Con un print lo guarda al fichero. Lo único que
> hay que hacer es cerrar el stdout al final:
> sys.stdout.close()
El problema es que mi programa no acaba nunca, y necesito ir viendo lo
que va escribiendo.
>> Pero no me escribe nada en el fichero. He visto que utilizando la
>>función sys.stdout.write lo haría bien aunque no lo he probado, pero no
>>quiero cambiar todos los print que tengo por el sys.stdout.write.
>>
>> También he probado con: programa.py > fichero.log, pero tampoco
>>funciona :-(
>
> Esto también me funciona.
Imagino que será por el mismo motivo, mi programa no acaba nunca y por
eso no escribe en el fichero. ¿Hay alguna forma de que vaya escribiendo
en el fichero continuamente?
Gracias de todos modos.
Más información sobre la lista de distribución Python-es