Redirigir salida estandar

Pablo Barrera González pbarrera en tsc.uc3m.es
Mie Jun 4 16:34:33 CEST 2003


On Wed, 2003-06-04 at 16:22, Diego Chaparro wrote:
> 	Hola a todos,
> 
> 	¿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()

> 	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. 

Uso Python 2.2 en Debian GNU/Linux Sarge. 

-- 
Pablo Barrera González <pbarrera en tsc.uc3m.es>
Universidad Carlos III de Madrid




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