Имя 'OptionGroup' не определено
Эта ошибка делается строго по следующим примерам, найденным в документации. И вы нигде не найдете никаких разъяснений, будь то длинная длинная страница документов, Google или stackru. Плюс чтение 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 минуты, чтобы обнаружить мою ошибку.:)
Да, это означает, что я знал ответ, но так как это заняло у меня так много времени, я решил "задокументировать" его здесь.
1 ответ
Возможно, это еще один пример того, почему лучше импортировать модули, чем функции из модулей.
OptionGroup
определяется в модуле optparse
, Команда
from optparse import OptionParser
путы OptionParser
в глобальном пространстве имен, но пренебрегает OptionGroup
полностью.
Чтобы исправить код, импортируйте optparse
модуль, и получить доступ к его частям следующим образом:
import optparse
parser = optparse.OptionParser()
outputGroup = optparse.OptionGroup(parser, 'Output handling')