当前位置:  开发笔记 > 编程语言 > 正文

嵌套模块上的UnboundLocalError重新导入

如何解决《嵌套模块上的UnboundLocalError重新导入》经验,为你挑选了0个好方法。

当我在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 
    foo()
  File "./ptest.py", line 6, in foo
    print sys
UnboundLocalError: local variable 'sys' referenced before assignment

但是,当嵌套导入作为函数定义中的第一个语句放置时,一切正常:

#!/usr/bin/python

import sys

def foo():
    import sys
    print sys

foo()


有人可以解释为什么第一个脚本失败了吗?谢谢.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有