Python argparse与可选参数互斥

2024-04-24 09:13:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我的要求是使用argparse实现以下目标:

script.py <command> (-a|--first-name [--middle-name] [--last-name])

因此,基本上,脚本将接受一个强制参数,该参数可以有不同的值。然后是另一个参数,它应该是-a或--first name。 然后名字可以有更多的参数。在

我在研究次级股和相互排斥的集团,但不知道如何实现这一点

我处理这件事的一个粗暴的方法是

^{pr2}$

但是我在想,如果这些检查可以由argparse固有地处理,那么随着脚本的增长,我就不必重做了

任何帮助都将不胜感激


Tags: 方法namepy脚本middle目标参数script
1条回答
网友
1楼 · 发布于 2024-04-24 09:13:48

解析后测试值没有什么粗糙的。mutually exclusive group所做的就是格式化usage(您可能已经看到了),并针对一组“已经看到”操作测试组中的每个参数。没有嵌套或复合逻辑测试,只是一个简单的平面测试xor。在

我建议一种(' name', nargs='+', help='name - first [last [middle]]')的论点。也就是说,接受name的一个或多个字符串。结果将是一个列表,您可以轻松地将其解析为3个部分。它甚至允许用户指定一个由4个部分组成的名称,或者其中一个10个部分组成的贵族名称。在

例如,一些侧边栏问题更详细地探讨了这一点

{a1}

相关问题 更多 >