gpt4 book ai didi

python - 带有选择选项的条件 argparse

转载 作者:太空宇宙 更新时间:2023-11-03 15:34:40 25 4
gpt4 key购买 nike

以下是我在模块中编写的三个参数。

parser.add_argument('--Type',type=str,choices=['a','b','c'],help='Options include: a,b,c.',required=True)

parser.add_argument('--Input',default=False,help='Generate input files',required=False)

parser.add_argument('--Directory',default=False,help='Secondary directory',required='--Input' in sys.argv)

--Type 可以有三个选项:a,b,c。

目前,我已将其设置为,如果 --Directory 为真,则需要 --Input 为真。

但是,我想在 --Directory 中添加一个附加条件,要求 --Type 为 == 'c'。

如何更改 --Directory 参数中的必需选项,使其同时需要 --Input 和 --Type == 'c'?

最佳答案

将参数解析与您的需求分离。

parser.add_argument('--Type', choices=['a','b','c'], required=True)
parser.add_argument('--Input', action='store_true')
parser.add_argument('--Directory', action='store_true')

args = parser.parse_args()

if args.Directory and args.Type != 'c' and not args.input:
raise argparse.ArgumentError("--Directory requires --Type c and --Input")

(注意 action='store_true' 自动设置 type=booldefault=False。)

关于python - 带有选择选项的条件 argparse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55595539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com