1

PythonのOptParserで任意の数の引数を使用してオプションを定義するにはどうすればよいですか?

私は次のようなものが欲しいです:

python my_program.py --my-option X,Y  # one argument passed, "X,Y"

python my_prgoram.py --my-option X,Y  Z,W  # two arguments passed, "X,Y" and "Z,W"

OptParserのnargs=オプションは、定義された数に制限します。どうすればこのようなことができますか?

parser.add_option("--my-options", dest="my_options", action="append", nargs="*")

--my-optionの後にあるものを単純に取得して、リストに追加しますか?たとえば、ケース1の場合は["X、Y"]、ケース2の場合は["X、Y"、 "Z、W"]である必要があります。

OptParserでこれを行う方法は何ですか?

ありがとう。

4

2 に答える 2

3

optarseモジュールは、python 2.7(リリースされたばかりです!)では非推奨になりました。アップグレードできる場合は、その代わりにargparseモジュールを使用できます。私はそれがあなたが望むものを持っていると思います。'*'の値をサポートしますnargs

http://docs.python.org/library/argparse.html#nargs

于 2010-07-05T18:14:55.020 に答える
0

n_ar​​gsビットを省略してみましたか?ドキュメントの例は、あなたがそれを必要としないことを示唆しています。

于 2010-07-05T18:06:46.927 に答える