2010-05-13 65 views
4

严格按照以下examples found on the docs完成此错误。并且您无法在任何地方找到任何说明,例如that long long docs pagegooglestackoverflow。另外,阅读optparse.py显示OptionGroup存在,因此增加了混淆。名称'OptionGroup'未定义

Python 2.6.1 (r261:67515, Feb 11 2010, 00:51:29) 
>>> from optparse import OptionParser 
>>> outputGroup = OptionGroup(parser, 'Output handling') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'OptionGroup' is not defined 

我敢打赌,只有不到1分钟的时间才能发现我的错误。 :)

是的,这意味着我知道答案,但因为这花了我很长时间才发现我想在这里“记录”它。

+1

@SLott确定......但我的观点是,我刚才问我已经知道答案的问题,只在某处“目录”。因为我花了相当长的时间才弄明白,并且没有提到这个问题。随意编辑它自己,但你建议我可以做什么?我不介意删除这个,我只是认为它可以帮助其他可能陷入我陷阱的人。 - 顺便说一句,这个问题在*带引号的编码错误*下很明显。 – cregox 2010-05-13 20:40:27

+0

@SLott现在如何?我并不是真的想要提供背景的个人故事,但我总是同意,有什么方法可以缩短无聊的措辞阅读,这是我们可以阅读的任何内容! - 再加上小小的背景,现在无论如何都记录在评论和修订版上,这要感谢你。 ; P – cregox 2010-05-13 21:31:39

回答

6

也许这是another example为什么它是better to import modules than functions from modules

OptionGroup在模块optparse中定义。 命令

from optparse import OptionParser

OptionParser在全局命名空间,但忽视OptionGroup完全。

修复代码,导入optparse模块,并访问其部分,像这样:

import optparse 
parser = optparse.OptionParser() 
outputGroup = optparse.OptionGroup(parser, 'Output handling') 
+0

恰恰是这个问题。我同意“更好的方式来导入模块”,但我实际上*修复它*与文档一起使用和使用'从optparse导入OptionParser,OptionGroup' - 顺便说一句,足够长的时间! ; d – cregox 2010-05-13 20:51:58