【发布时间】:2012-03-31 03:54:29
【问题描述】:
我在 main() 脚本 (getdata.py) 所在的目录中有一个 vm.py。在getdata.py,我有
import vm
...
x = vm.Something()
然后python抱怨
UnboundLocalError: local variable 'vm' referenced before assignment
这是为什么呢?导入时没有错误。
更新
我发现如果我这样做了
from vm import *
相反,它起作用了。同样对于我制作的另一个文件/模块,一个简单的import 可以工作。我将完整代码上传到 GitHub Gist https://gist.github.com/2259298
【问题讨论】:
-
就其本身而言,应该可以。您的代码中可能还有其他对 vm 的引用,您在
...部分中删除了这些引用,因为您认为它们不相关,但实际上它们是相关的。参见,例如,this question 或 this one。 -
@DSM,更新了帖子,其中包含关于要点的观察和完整代码 (gist.github.com/2259298)
-
命令行参数永远不会在驼峰式中完成;
--numReferences通常会使用--num-references或--references。 -
@ChrisMorgan,感谢您告诉我 :)
标签: python python-3.x