私はプログラムを作成しているので、コマンドラインで設定された2つの引数のうちの1つを探し、どちらが設定されているかに基づいて1つの変数に値を保存する必要があります。特定の引数をチェックして任意の変数に値を代入する
私はこのようなプログラムを呼び出す場合:私は'a value'
に変数action
セットをしたい
myprogram -a --foo 123
。このようにそれを呼び出します。
myprogram -b --foo 123
そしてaction
は'another value'
に設定する必要があります。
myprogram -c --foo 123
これは、使用情報とともに終了する必要があります。
もちろん、私は事実の後にいくつかのif
文でこれを行うことができます。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-a', action='count')
parser.add_argument('-b', action='count')
parser.add_argument('--foo')
....
args = parser.parse_args()
if args.a == 0 and args.b == 0:
parser.print_usage()
sys.exit(1)
if args.a > 0:
action = 'a value'
elif args.b > 0:
action = 'another value'
しかしargparseが少ないコードで私のためにそれを行うことができれば、私は思ったんだけど。私がドキュメントで見たことから、それは不可能ですが、Pythonは非常に新しいものです。ありがとう。
私はそこにif:else:文をどこかに置かなければならないと思いません。 – MCManuelLP