Function name unchanged in error message

andrew cooke andrew at
Fri Jan 29 14:30:27 CET 2010

Is there any way to change the name of the function in an error
message?  In the example below I'd like the error to refer to bar(),
for example (the motivation is related function decorators - I'd like
the wrapper function to give the same name)

>>> def foo():
...     return 7
>>> foo.__name__ = 'bar'
>>> foo(123)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: foo() takes no arguments (1 given)


More information about the Python-list mailing list