python argparser用于部分选择的多个参数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python argparser用于部分选择的多个参数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1181字,纯文字阅读大概需要2分钟。
内容图文
![python argparser用于部分选择的多个参数](/upload/InfoBanner/zyjiaocheng/826/1486e6934f4946efb9e01222f748aa22.jpg)
我创建了一个像这样的argparser:
parser = argparse.ArgumentParser(description='someDesc')
parser.add_argument(-a,required=true,choices=[x,y,z])
parser.add_argument( ... )
但是,仅用于选择“x”而不用于选择“y,z”,我想要一个额外的REQUIRED参数.例如.
python test -a x // not fine...needs additional MANDATORY argument b
python test -a y // fine...will run
python test -a z // fine...will run
python test -a x -b "ccc" // fine...will run
如何使用ArgumentParser实现这一目标?我知道它可能与bash optparser
解决方法:
详细阐述subparser方法:
sp = parser.add_subparsers(dest='a')
x = sp.add_parser('x')
y=sp.add_parser('y')
z=sp.add_parser('z')
x.add_argument('-b', required=True)
>这与您的规范不同,因为不需要-a.
> dest =’a’参数确保命名空间中存在’a’属性.
>通常不需要像’-b’这样的可选项. Subparser’x’也可以采取所需的位置.
如果必须使用-a可选,则可以使用两步解析
p1 = argparse.ArgumentParser()
p1.add_argument('-a',choices=['x','y','z'])
p2 = argparse.ArgumentParser()
p2.add_argument('-b',required=True)
ns, rest = p1.parse_known_args()
if ns.a == 'x':
p2.parse_args(rest, ns)
第三种方法是在事后进行自己的测试.您仍然可以使用argparse错误机制
parser.error('-b required with -a x')
内容总结
以上是互联网集市为您收集整理的python argparser用于部分选择的多个参数全部内容,希望文章能够帮你解决python argparser用于部分选择的多个参数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。