I've been having problems with an unexpected exception from python which
I can summarise with the following testcase:

def A():
    import __builtin__
    import os

    __builtin__.os = os

def B():
    os.stat("/")
    import os

A()
B()

which results in:

Traceback (most recent call last):
  File "./test.py", line 12, in <module>
    B()
  File "./test.py", line 8, in B
    os.stat("/")
UnboundLocalError: local variable 'os' referenced before assignment

If I remove the "import os" from B(), it works as expected.

>From what I've seen, its very unusual to have something operate
"backwards" in scope in python. Can anyone explain why this happens?

Cheers,

Richard

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

Reply via email to