Reference values for exec

Dave Angel davea at ieee.org
Wed Oct 28 18:19:00 CET 2009


(You top-posted, so I almost missed your addition.  It's conventional on 
this newsgroup to bottom-post -- inline where appropriate, or at the end)

Garito wrote:
> Perhaps but the fact is that I need to execute code from some files in the
> filesystem and I need to have a common stack for them
>
> 2 questions came to my mind:
>
> 1.- How can I execute code from files in the filesystem? (I choose exec for
> that)
>   
That's what import is for.  Or  __import__() if you need more flexibility.
> 2.- If exec is my only option: how can I use a common stack for them?
>
> Thanks
>
> 2009/10/28 Dave Angel <davea at ieee.org>
>
>   
>> Garito wrote:
>>
>>     
>>> Hi!
>>> I'm trying to use exec in a recursive way but I have a problem
>>>
>>> When I read the manual I understand that the globals and the locals are
>>> passed by reference but if I try to use it in a recursive way the new
>>> values
>>> added in a step are not passed to the next one
>>>
>>> Could someone point me how to do that?
>>>
>>> Thanks
>>>
>>>
>>>
>>>       
>> see
>> http://www.catb.org/~esr/faqs/smart-questions.html<http://www.catb.org/%7Eesr/faqs/smart-questions.html>
>>
>> Post some sample code, and show what doesn't work;  maybe you'll get some
>> help that way.
>>
>> I'll point out just one thing:  you cannot add new local variables at
>> runtime.  locals() should be used to inspect, not to modify.
>>
>> See the help text:
>>  "The contents of this dictionary should not be modified; changes may not
>> affect the values of local variables used by the interpreter"
>>
>> I have no idea if exec() can be safely called recursively.  Most people
>> successfully avoid calling it at all.
>>
>> DaveA
>>
>>
>>
>>     
>
>
>   



More information about the Python-list mailing list