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

おそらくこれは、モジュールから関数をインポートするよりもモジュールをインポートするほうがよい理由のもう 1 つの例です。

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 に答える