Is this possible in Python? SOLUTION FOUND

alainpoint at yahoo.fr alainpoint at yahoo.fr
Tue Mar 14 16:33:01 EST 2006


Kay Schluehr wrote:
> alainpoint at yahoo.fr wrote:
> > jalanb wrote:
> > > You might like the version here:
> > > http://www.jorendorff.com/toys/out.html
> > >
> > > Especially the "need to know" presentation, which is cute
> > >
> > > --
> > > Alan
> > > http://aivipi.blogspot.com
> >
> > Thank you for the tip.
> > Meanwhile, I found a shorter solution to my problem:
> > def magic(arg):
> > 	import inspect
> > 	return inspect.stack()[1][4][0].split("magic")[-1][1:-1]
> >
> > assert magic(3+4)=="3+4"
> >
> > Alain
>
> Does it? Using your function I keep an assertion error. Storing the
> return value of magic()in a variable s I receive the following result:
>
> def magic(arg):
>     import inspect
>     return inspect.stack()[1][4][0].split("magic")[-1][1:-1]
>
> s = magic(3+4) # magic line
>
> >>> s
> 'lin'
>
>
> BTW grepping the stack will likely cause context sensitive results.
>
> Kay


This is no production-ready code, just a proof of concept.
Adding 3 or 4 lines would make it more robust.
Just hope someone else will benefit from this discussion.

Alain




More information about the Python-list mailing list