Python argparse;如果参数1不存在,如何继续并设置所需的下一个参数

时间:2018-10-23 10:15:29

标签: python argparse

我的python脚本中有3个参数。运行脚本需要两个,参数1仅显示选项列表。 我希望如果设置了参数1,则不再需要该参数2和3,并且如果不使用参数1,则需要该参数2和3。

参数如下:

parser = argparse.ArgumentParser()
parser.add_argument("--1", help="list of options", action="store_true", default=False)
parser.add_argument("--2", help="level", required=True)
parser.add_argument("--3", help="folder", required=True)
args = parser.parse_args()

我用以下命令尝试过:

parser = argparse.ArgumentParser()
parser.add_argument("--1", help="list of options", action="store_true", default=False)
parser.add_argument("--2", help="level)
parser.add_argument("--3", help="folder")
args = parser.parse_args()

if args.1:
    print('list of options')
    sys.exit()
if not args.1:
    parser = argparse.ArgumentParser()
    parser.add_argument("--1", help="list of options", action="store_true", default=False)
    parser.add_argument("--2", help="level", required=True)
    parser.add_argument("--3", help="folder", required=True)

但是问题在于,如果用户仅设置选项2(或仅设置选项3),脚本将继续运行,而不是同时需要选项2和3。 是否可以在Python中先测试选项1,如果未设置此选项,则继续测试选项2和3,并根据需要设置这两个选项?

0 个答案:

没有答案