[Python-es] "decorator" que escriba un mensaje a la entrada y a la salida de una funcion
Ricardo Cárdenes Medina
ricardo.cardenes en gmail.com
Vie Jul 8 18:06:24 CEST 2011
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
Más información sobre la lista de distribución Python-es