En Sat, 12 Jul 2008 16:15:36 -0300, Akathorn Greyhat <[EMAIL PROTECTED]>
escribi�:
Hello, this is my first message in the group.
Welcome!
I'm spanish so my english sometimes is really bad, sorry =(
I have a problem and I hope someone has the answer.
I'm trying to make an in-game python idle, it works great but the exec
statement can't access the main module globals but only the ones that are
inside the module in wich I defined the function.
def execute(self, string):
exec(string, globals(), globals())
I realized that if I move the code to the main module, It works, but I
want
it to be inside another script.
You have to pass in the namespace of the desired module - instead of
globals. I'd use an explicit argument:
def execute(self, string, namespace):
# exec string in namespace # 2.5
exec(string, namespace) # 3.0
Use it this way:
execute("a=1", target_module.__dict__)
then target_module.a will be 1
--
Gabriel Genellina
--
http://mail.python.org/mailman/listinfo/python-list