我正在尝试制作一个使用如下的脚本:
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