¿Cómo crear un decorador de Python que se pueda usar con o sin parámetros?
Me gustaría crear un decorador de Python que se pueda usar con parámetros:
@redirect_output("somewhere.log")
def foo():
....
o sin ellos (por ejemplo, para redirigir la salida a stderr de forma predeterminada):
@redirect_output
def foo():
....
¿Es eso posible?
enga en cuenta que no estoy buscando una solución diferente al problema de redirigir la salida, es solo un ejemplo de la sintaxis que me gustaría lograr.