Hi, Being in an exeption of my own, I want to print the name of the caller, and I'm looking for a way to have it.
I've found a lot of recipe all of them using what seems to be, according to me, a not so good trick : all those recipe make use of sys._getframe(1).f_code.co_name, such as in this exemple : import sys def whoami(): print "Who call me ? : ", sys._getframe(1).f_code.co_name print "Who am I ? : ", sys._getframe(0).f_code.co_name def print_caller_name(): whoami() if __name__ == "__main__": print_caller_name() With the following result, as expected : Who call me ? : print_caller_name Who am I ? : whoami A closer look at the documentation about sys._getframe at http://docs.python.org/library/sys.html make me think it's not a good idea, because of the note : "*CPython implementation detail:* This function should be used for internal and specialized purposes only. *It is not guaranteed to exist in all implementations of Python*." So, this trick works today, but what about tomorow ? Is anybody have an idea how to get the the same result without _getframe ? Thanks Patrice.
_______________________________________________ Tutor maillist - [email protected] To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor
