interactive execution

Jive Dadson jdadson at yahoo.com
Tue Feb 8 20:41:30 EST 2005


How does one execute arbitrary text as code within a module's context?

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.

Thankee.



More information about the Python-list mailing list