On Feb 24, 4:08 am, Steven D'Aprano <ste...@remove.this.cybersource.com.au> wrote: > On Tue, 23 Feb 2010 20:44:10 -0800, Luis M. González wrote: > > On Feb 24, 1:15 am, Steven D'Aprano > > <ste...@remove.this.cybersource.com.au> wrote: > >> On Tue, 23 Feb 2010 19:47:22 -0800, Luis M. González wrote: > >> > On Feb 23, 10:41 pm, Steven D'Aprano > >> > <ste...@remove.this.cybersource.com.au> wrote: > >> >> On Tue, 23 Feb 2010 15:41:16 -0800, Luis M. González wrote: > >> >> > By the way, if you want the variables inside myDict to be free > >> >> > variables, you have to add them to the local namespace. The local > >> >> > namespace is also a dictionary "locals()". So you can update > >> >> > locals as follows: > > >> >> > locals().update( myDictionary ) > > >> >> No you can't. Try it inside a function. > > >> >> -- > >> >> Steven > > >> > Sure. Inside a function I would use globals() instead. Although I > >> > don't know if it would be a good practice... > > >> Er, how does using globals change the local variables? > > >> -- > >> Steven > > > Hmmm.... well, you tell me! > > I'm not the one that said you can update locals! You said it. I said you > can't, because you *can't*. The docs warn that you can't change locals, > and if you try it, you will see that the docs are right. > > >>> def test(): > > ... x = 1 > ... locals().update(x = 2) > ... print x > ... > > >>> test() > > 1 > > > As I said, I don't know if this is the recomended way... > > It's not recommended because it doesn't work. > > -- > Steven
I guess I have to check the docs... Anyway, nobody wanted to update locals() from within a function here. Doing it outside of a function seems to work. And updating globals() works in any case, which is what the OP seems to need. Isn't it? Luis -- http://mail.python.org/mailman/listinfo/python-list