Return name of caller function?

Matthew Peter survivedsushi at
Thu Jun 28 02:07:08 CEST 2007

> The code below doesn't do the trick for you?
> #!/usr/bin/python
> import inspect
> def master():
>     print "I am the master"
>     slave()
> def slave():
>     stack = inspect.stack()
>     caller = stack[1][3]
>     print "I am the slave; my caller was %s" % caller
> def main():
>     master()
> if __name__ == '__main__':
>     main()

Yes. That does work. I was testing with an aliased instance of function which was
returning <module>

>>>a = slave
>>>print a()

Is regex'ing stack[1][4] the only way to return 'a' in this instance?

Be a PS3 game guru.
Get your game face on with the latest PS3 news and previews at Yahoo! Games.

More information about the Python-list mailing list