Unexpected python exception
Richard Purdie
rpurdie at rpsys.net
Wed Nov 11 05:59:46 EST 2009
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
More information about the Python-list
mailing list