On Fri, Jul 24, 2009 at 2:51 PM, kk<maymunbe...@gmail.com> wrote:
> Hello
>
> I am writing some Python code that runs in another application(has
> wrapper functions). Due to lack of debugging I am printing out alot of
> outputs and manual messages. I want to be able to create a function
> that would let me print the current line number that is called from.
> This is not for debugging exceptions it is rather to simplify my debug
> messages, at least I can trace my debug messages.
>
> thanks

Modify the following as needed:

from inspect import currentframe, getframeinfo

def caller_info(depth=0):
        """
        Get file, line number, and name of the calling function.
        """
        if depth < 0:
                raise ValueError('invalid stack depth')

        caller = frame = currentframe()
        try:
                for i in xrange(-1, depth):
                        caller = caller.f_back
                        if caller is None:
                                return (None, None, None)

                return getframeinfo(caller, 0)[:3]
        finally:
                del caller, frame

- Max
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to