How can I get the line number ?
Maxim Khitrov
mkhitrov at gmail.com
Fri Jul 24 14:59:04 EDT 2009
On Fri, Jul 24, 2009 at 2:51 PM, kk<maymunbeyin at 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
More information about the Python-list
mailing list