次のような使用法でスクリプトを作成しようとしています。
my_script [-p parg -l larg] | [-s sarg]
つまり、スクリプトは引数または-p
引数のいずれかを取ります。と の両方を指定するとエラーになります。次のことを試しましたが、うまくいかないようです-l
-s
-p
-s
import argparse
parser = argparse.ArgumentParser(description='Some Desc')
gp = parser.add_mutually_exclusive_group()
num_gp = gp.add_argument_group()
num_gp.add_argument('-p')
num_gp.add_argument('-l')
gp.add_argument('-s')
In [18]: parser.parse_args(['-p blahp', '-l blahl', '-s blahs'])
Out[18]: Namespace(l=' blahl', p=' blahp', s=' blahs') #ERROR Should have failed as I specify both `-p` and `-s` which belong to a mutually_exclusive_group