Joe wrote:
Isn't this a bug?

Here's the test program:

import code

def test_func():
    lv = 1
    print '\n\nBEFORE lv: %s\n' % (lv)
    code.interact(local=locals())
    print '\n\nAFTER  lv: %s\n' % (lv)
    return

Check the documentation for locals() [1]:

"Update and return a dictionary representing the current local symbol table. Warning: The contents of this dictionary should not be modified; changes may not affect the values of local variables used by the interpreter."

So if you change things in the dictionary returned by locals() you won't actually change the local variables.

STeVe

[1] http://docs.python.org/lib/built-in-funcs.html#l2h-45
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to