argparseを使用して、任意の数のを受け取り、コマンドラインに位置指定引数のを設定します。例えば:Python argparse:引数の「複数の倍数」ですか?
myapp.py show 1
show
パラメータが「動作」であり、1
は「オペランド」です。
私は操作や演算の複数セット受け入れることができるようにしたい:私は、任意の数のを許可するように最後の引数としてN
のnargs
パラメータと引数を追加することができます知っている
myapp.py show 1 test 2 write 3
をその議論の繰り返し。私は同じことをやりたいと思っていますが、1回の繰り返しにつき1つ以上の議論があります。この例では
:各操作は、オペランドに来なければならないので、
myapp.py show 1 test
は、無効にする必要があります。
はまた、すべてのオペランドと仮定すると、整数であり、すべての演算子は文字列です:
myapp.py 1 show 2 test
は失敗、またはオペレータが最初に来なければならないので、私は、故障の原因となりますので、少なくとも、コードの中で検出可能でなければなりません。
私も同じように、別のプロジェクトで引数の繰り返しセットあたりつ以上の「パラメータ」が必要になる場合があります:
myapp.py test 1 outputFile.dat write 2 writeFile.dat
これを行うことができますか?
@mgilsonによって与えられたコメントで示唆に拡大
あなたが持っ '--'をこれらのオペランドの前で感じだろうか? 'myapp。py --show 1 --test 2' – mgilson
私はそれを行うことができましたが、2回目のオペレーションで2つのオペランドが必要な場合は動作しません。 – fdmillion
[click](http://click.pocoo.org/5/arguments/#variadic-arguments)の使用はどうですか? –