Frame Objects¶
-
type PyFrameObject¶
- Part of the Stable ABI.
The C structure of the objects used to describe frame objects.
The structure is not part of the C API.
Changed in version 3.11: The structure moved to the internal C API headers.
The PyEval_GetFrame()
and PyThreadState_GetFrame()
functions
can be used to get a frame object.
See also Reflection.
-
PyFrameObject *PyFrame_GetBack(PyFrameObject *frame)¶
Get the frame next outer frame.
Return a strong reference, or
NULL
if frame has no outer frame.frame must not be
NULL
.New in version 3.9.
-
PyObject *PyFrame_GetBuiltins(PyFrameObject *frame)¶
Get the frame’s
f_builtins
attribute.Return a strong reference. The result cannot be
NULL
.frame must not be
NULL
.New in version 3.11.
-
PyCodeObject *PyFrame_GetCode(PyFrameObject *frame)¶
- Part of the Stable ABI since version 3.10.
Get the frame code.
Return a strong reference.
frame must not be
NULL
. The result (frame code) cannot beNULL
.New in version 3.9.
-
PyObject *PyFrame_GetGenerator(PyFrameObject *frame)¶
Get the generator, coroutine, or async generator that owns this frame, or
NULL
if this frame is not owned by a generator. Does not raise an exception, even if the return value isNULL
.Return a strong reference, or
NULL
.frame must not be
NULL
.New in version 3.11.
-
PyObject *PyFrame_GetGlobals(PyFrameObject *frame)¶
Get the frame’s
f_globals
attribute.Return a strong reference. The result cannot be
NULL
.frame must not be
NULL
.New in version 3.11.
-
PyObject *PyFrame_GetLocals(PyFrameObject *frame)¶
Get the frame’s
f_locals
attribute (dict
).Return a strong reference.
frame must not be
NULL
.New in version 3.11.
-
int PyFrame_GetLineNumber(PyFrameObject *frame)¶
- Part of the Stable ABI since version 3.10.
Return the line number that frame is currently executing.
frame must not be
NULL
.