Gabriel Genellina wrote: > I could see some merit on getting that info in an automatic way. > The only reason I can see for knowing the name of a function is for > debugging purposes - maybe some kind of logging utility. If you are in > "debug mode", resources are not too important, but correct information > is. Imagine a logfile that says that you were at function_a but instead > you were at function_b (because of copy&paste without replacing the names)
imagine a log file that says that you're about to create a file when you're actually removing it (because of copy&paste without replacing the message). focussing on function names when logging is pretty silly, anyway. it's usually better to focus on that the code is actually doing, rather than internal artifacts. but even if you want to output function names, it's of course better to put that functionality into the logging function itself: ## # Issues a log message. def log(fmt, *args): print who_called_me(2), "-", fmt % args ## # Returns the name of the calling function or method, if known. # # @param depth Stack depth. Defaults to immediate caller. # @return The name of the calling function. def who_called_me(depth=1): return sys._getframe(depth).f_code.co_name </F> -- http://mail.python.org/mailman/listinfo/python-list