Jive Dadson wrote:

I've got some code that compiles some text and then executes it.  When
the string is "print 'Hello'", it prints "Hello".  I get no exception
when I compile and execute "foo = 555".  If I then compile and exec
"print foo", I get a name error. The variable foo is undefined. My
assumption is that the "exec" command created a new namespace, put "foo"
in that namespace, and then threw the namespace away.  Or something.

I know it must be possible to do this, because it's exactly what
programs like IDLE do.


exec statement in name_space will do the trick.

>>> d = {}
>>> exec 'foo=555' in d
>>> d['foo']
555
>>> exec "print foo" in d
555

- george
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to