使用python argparse模块的命令行选项

时间:2013-10-31 09:11:14

标签: python command-line-arguments argparse

在我的程序中,有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模块实现这些?

1 个答案:

答案 0 :(得分:0)

您想要添加两个mutually-exclusive groupsrequired=Truea1不能与a2同时存在b,同样适用于required群组。

如果它们都是a,那么您必须得到b中的一个,并且恰好是parser = argparse.ArgumentParser() group1 = parser.add_mutually_exclusive_group(required=True) group1.add_argument('--a1') group1.add_argument('--a2') #likewise for group2 中的一个。

{{1}}