Redireccionar salida
Chema Cortes
lslorg en ls-l.org
Lun Jul 25 00:28:41 CEST 2005
Quoting JoePC <joepc74 en gmail.com>:
> Existe alguna forma de redireccionar la salida estandar a una clase?
Puedes sustituir el objeto sys.stdout con cualquier clase que implente
el mismo
interface para el método .write() . Puedes hacértelo tú mismo ó usar
cualquiera
de los objetos afines como 'file' ó 'StringIO'.
import sys
class ReQuote:
def write(self, msg):
sys.__stdout__.write("--> "+msg+" <--\n")
#redirección
sys.stdout=ReQuote()
print "Mensaje Redirigido"
sys.stdout=sys.__stdout__
Más información sobre la lista de distribución Python-es