-1

重複の可能性:
optparse の OptionParser に無効な引数を無視させるにはどうすればよいですか?

optparse を使用して入力を解析したいと考えています。optparse が提供されていないオプションを無視し、代わりに args に追加するようにするにはどうすればよいですか? 私のプログラムのユーザーはコンピューターに精通していないので、引数を取得するためにコマンド ラインで「--」を指定する必要があることを説明したくありません。

4

1 に答える 1

1

でデフォルト値を設定するだけですdefault=。引数が指定されていない場合は、デフォルト値が使用されます。

from optparse import OptionParser
[...]
parser = OptionParser()
parser.add_option("-f", "--file", dest="filename",
                  help="write report to FILE", metavar="FILE")
parser.add_option("-q", "--quiet",
                  action="store_false", dest="verbose", default=True,
                  help="don't print status messages to stdout")

(options, args) = parser.parse_args()

オプションに複数の引数を追加するには、次を使用しますnargs=#

import optparse

if __name__ == '__main__':
    parser = optparse.OptionParser()
    parser.add_option("-a", "--add", nargs=2, dest="add")
    (options, args) = parser.parse_args()

    first_add = int(options.add[0])
    second_add = int(options.add[1])
    print "%d" % (first_add + second_add)

結果:

[ 12:05 jon@hozbox ~/SO/python ]$ ./optparse-add-options-not-found-to-args.py --add 1 -2
-1
[ 12:07 jon@hozbox ~/SO/python ]$ ./optparse-add-options-not-found-to-args.py -a -50 -75
-125

http://docs.python.org/library/optparse.html

于 2011-11-16T19:52:12.180 に答える