[Python-es] "decorator" que escriba un mensaje a la entrada y a la salida de una funcion

Jose Caballero jcaballero.hep en gmail.com
Vie Jul 8 20:10:14 CEST 2011


El 8 de julio de 2011 12:06, Ricardo Cárdenes Medina <
ricardo.cardenes en gmail.com> escribió:

> 2011/7/8 Jose Caballero <jcaballero.hep en gmail.com>
> >
> > Hola,
> >
> > existe alguna manera de hacer un decorator que muestre a la entrada de
> una funcion/metodo, imprimiendo el nombre de la funcion y los argumentos, y
> que muestre otro mensaje a la salida con el valor retornado?
> > Lo primero lo se hacer, pero tengo la sensacion de que lo segundo no es
> posible, o no tan facil.
>
> Si ya tienes hecho lo de imprimir nombre y argumentos, éste lo único
> que hace es capturar la salida e imprimirla:
>
> def logger(fn):
>    def wrapper(*args, **kw):
>        ret = fn(*args, **kw)
>        print ret
>        return ret
>    return wrapper
>
>

Muchas gracias.
Era trivial. No se como no lo habia visto. He hecho cosas mas dificiles con
decoradores, y esa no la vi.

De nuevo muchas gracias.

Saludos,
Jose
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110708/7d6535d8/attachment.html>


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