inspect.stack() or inspect.currentframe() gives "list index out of range error"

deluxstar deluxstar at gmail.com
Fri Sep 24 09:05:23 CEST 2010


Hi,

We have an application working on several servers generally written
with Python 2.6 and Twisted 10.
The source codes are located in one server and compiled in this
server. The compiled files are copied to other server via network and
application server works with these compiled files.

In this application, I have to write a function to return a value of
the caller object that calles this function. The function may be
called from several modules of the application. To achieve this goal,
I try to use the python inspect module:

curframe = inspect.currentframe()
calframe = inspect.getouterframes(curframe, 2)
calframe[1][0].f_locals['variable']

This sample code works on local development environment both on linux
and windows. When checked in to production environment,
inspect.currentframe() or inspect.stack() function gives "List index
out of range error".

When I googled, I found only one clue of copying pyc files:
http://forum.webfaction.com/viewtopic.php?pid=16808

Why inspect modules gives this error? OR Is there another way to get
the caller objects variable value?

Thanks in advance.






More information about the Python-list mailing list