Python argparse:是否可以在nargs中指定范围?

Python argparse:是否可以在nargs中指定范围?,第1张

Python argparse:是否可以在nargs中指定范围?

您可以通过自定义 *** 作执行此 *** 作:

import argparsedef required_length(nmin,nmax):    class RequiredLength(argparse.Action):        def __call__(self, parser, args, values, option_string=None): if not nmin<=len(values)<=nmax:     msg='argument "{f}" requires between {nmin} and {nmax} arguments'.format(         f=self.dest,nmin=nmin,nmax=nmax)     raise argparse.ArgumentTypeError(msg) setattr(args, self.dest, values)    return RequiredLengthparser=argparse.ArgumentParser(prog='PROG')parser.add_argument('-f', nargs='+', action=required_length(2,3))args=parser.parse_args('-f 1 2 3'.split())print(args.f)# ['1', '2', '3']try:    args=parser.parse_args('-f 1 2 3 4'.split())    print(args)except argparse.ArgumentTypeError as err:    print(err)# argument "f" requires between 2 and 3 arguments


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5644749.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存