R
Richard Purdie
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.
Cheers,
Richard
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.
"backwards" in scope in python. Can anyone explain why this happens?From what I've seen, its very unusual to have something operate
Cheers,
Richard