当我在python 2.7中重新导入已导入的模块时,我得到一个UnboundLocalError.一个最小的例子是
#!/usr/bin/python
import sys
def foo():
print sys
import sys
foo()
Traceback (most recent call last):
File "./ptest.py", line 9, in <module>
foo()
File "./ptest.py", line 6, in foo
print sys
UnboundLocalError: local variable 'sys' referenced before assignment
Run Code Online (Sandbox Code Playgroud)
但是,当嵌套导入作为函数定义中的第一个语句放置时,一切正常:
#!/usr/bin/python
import sys
def foo():
import sys
print sys
foo()
<module 'sys' (built-in)>
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么第一个脚本失败了吗?谢谢.
python ×1