-1

私のプログラムには、2 つのコマンド ライン オプションa1 or a2b1 or b2. ユーザーがこのプログラムを使用したい場合は、これらのオプションのいずれかを使用する必要があります。例えば、

./script.py -a1 val  -b1 val2

また

./script.py -a1 val -b2 val2

また

./script.py -a2 val -b1 val2

また

./script.py -a2 val -b2 val2

したがって、ユーザーはこれらのオプション a1|a2 または b1|b2 のいずれかを使用できます。このコマンド ライン引数をどのように処理し、argparse モジュールを使用してこれらの値を取得できますか?

その他のオプションは、プログラムがユーザーに3つのオプションを提供することです。-a1、-a2​​、および -a3。しかし、 -a1 は以下のように 4 つの値を取ります。

./script.py -a1 val1 val2 val3 val4

-a2 は以下のように 2 つの値を取ります。

./script.py -a2 val1 val2

-a3 は以下のように 1 つの値を取ります。

./script.py -a3 val1

argparseこれらのコマンドラインオプションと値を処理するプログラムを開発したいのですが、モジュールを使用してこれらを実現するにはどうすればよいですか?

4

1 に答える 1

0

相互に排他的な 2 つのグループを両方とも追加したいとしrequired=Trueます。 グループ の場合と同様に、a1と一緒に存在することはできません。a2b

両方requiredである場合、 の 1 つと の 1 つを取得する必要がありaますb

parser = argparse.ArgumentParser()
group1 = parser.add_mutually_exclusive_group(required=True)
group1.add_argument('--a1')
group1.add_argument('--a2')
#likewise for group2
于 2013-10-31T09:24:31.870 に答える