4

严格按照文档中的示例执行此错误。而且你在任何地方都找不到任何关于它的说明,无论是长长的文档页面谷歌还是stackoverflow。另外,阅读optparse.py显示 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 分钟就会有人发现我的错误。:)

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

4

1 回答 1

6

也许这是另一个例子,说明为什么导入模块比从模块中导入函数更好

OptionGroup在模块中定义optparse。命令

from optparse import OptionParser

放入OptionParser全局命名空间,但完全忽略OptionGroup

要修复代码,请导入optparse模块并访问其部分,如下所示:

import optparse
parser = optparse.OptionParser()
outputGroup = optparse.OptionGroup(parser, 'Output handling')
于 2010-05-13T20:47:20.020 回答