对于具有不同narg的同一位置arg,是否可以使用add\u参数两次?

2024-03-28 18:10:17 发布

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

我正在编写一个CLI工具,它需要接受两种不同风格的“search”命令作为第一个参数:一种只需要一个额外的位置参数,另一种只需要3个额外的位置参数

例如:tool search xtool search x y z都是有效的(不是tool search x y),但是路由到完全不同的功能

除了“search”之外,还有其他一些命令。我还需要控制准确的错误消息和退出代码(我认为这在ArgumentParser.exit()中是可能的)

如何用argparse实现这一点?直观地说,我认为我需要使用add_argument两次search与不同的nargs和可能不同的dest,但不确定这是否可行

老实说,我本来打算直接用sys.argv来做这件事的,但我一直在读这是多么的淘气(我知道为什么,但这似乎是一个特例),所以只要检查一下用argparse做这件事是否容易

谢谢


Tags: 工具代码命令功能消息路由search参数