Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #81558
| Date | 2014-11-26 10:46 +0000 |
|---|---|
| From | Kasper Peeters <kasper@phi-sci.com> |
| Subject | Re: PyEval_GetLocals and unreferenced variables |
| References | <20141126102257.141b108f@klug> <CAPTjJmov9s=_0yVSOYSRqoCoy69vyXCKvUpScirjBQDp28Sd4A@mail.gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.16317.1416998820.18130.python-list@python.org> (permalink) |
> > def fun():
> > q=3
> > def fun2():
> > cfun()
> > fun2()
> >
> > fun()
> >
> > and access 'q' inside the C-function cfun(). If I simply let it call
> > PyEval_GetLocals, then the result will again not contain "q". Is
> > there any way in which I can convince python to pull 'q' into the
> > local scope from within my C code?
>
> Wouldn't this be a little surprising? Why not simply pass q as a
> parameter?
I agree that in this example that would be the natural thing to do.
My case is more tricky though: I have something like
def fun():
cfun_that_creates_q_in_local_scope()
def fun2():
cfun_that_wants_to_see_if_q_is_available()
So the Python side actually doesn't see 'q' directly at all.
I am willing to elaborate on this if you want (I have fairly good
reasons to do things this way, mostly having to do with historical
constraints of an older C library that I cannot avoid), but it
requires more space.
Cheers,
Kasper
Back to comp.lang.python | Previous | Next — Next in thread | Find similar | Unroll thread
Re: PyEval_GetLocals and unreferenced variables Kasper Peeters <kasper@phi-sci.com> - 2014-11-26 10:46 +0000 Re: PyEval_GetLocals and unreferenced variables Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-11-30 00:34 +1300
csiph-web