使用Python3和argparse模块,如果传递了另一个参数,我是否可以禁止该参数?

使用Python3和argparse模块,如果传递了另一个参数,我是否可以禁止该参数?,python,python-3.x,argparse,command-line-arguments,Python,Python 3.x,Argparse,Command Line Arguments,例如,假设用户传递一个参数,如 python3 myscript.py -a 我也希望他们能通过考试 python3 myscript.py -b 但是我不希望他们能同时通过这两项考试,比如 python3 myscript.py -a -b 我该怎么做呢?到目前为止,我还不太熟悉argparse,文档有点难以理解 非常感谢:)您需要大量的参数。下面是一个简单的例子: import argparse parser = argparse.ArgumentParser() group = pa

例如,假设用户传递一个参数,如

python3 myscript.py -a
我也希望他们能通过考试

python3 myscript.py -b
但是我不希望他们能同时通过这两项考试,比如

python3 myscript.py -a -b
我该怎么做呢?到目前为止,我还不太熟悉argparse,文档有点难以理解

非常感谢:)

您需要大量的参数。下面是一个简单的例子:

import argparse
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument('-a', help='Do A', action='store_true')
group.add_argument('-b', help='Do B', action='store_true')
args = parser.parse_args()
if args.a:
    print('A!')
if args.b:
    print('B!')
测试:

$python myscript.py-h
用法:myscript.py[-h][-a |-b]
可选参数:
-h、 --帮助显示此帮助消息并退出
-做某事
-b做b
$python myscript.py-a
A.
$python myscript.py-b
B
$python myscript.py-a-b
用法:myscript.py[-h][-a |-b]
myscript.py:错误:参数-b:不允许与参数-a一起使用

@LevLevitsky,这看起来是一个完美的答案,正是我想要的!谢谢:)