【发布时间】:2017-12-25 10:43:57
【问题描述】:
我有几个位置参数和可选参数(使用 argparser),现在需要添加一个不带参数/值的标志,并且本质上调用一个方法。
假设这是当前的解析器:
./run.py arg1 arg2 -i input
这是简短的示例代码
parser.add_argument("arg1",
help="arg1 handler")
parser.add_argument("arg2",
help="arg2 handler")
parser.add_argument('-i', dest='input_handler',
help="input handler")
当您使用 --help 时,我正在寻找类似的东西,这会导致显示帮助(并且 优先于其他标志)。
所以我想支持一个特殊的标志(如 --help),而不用担心在命令行中提供所有其他标志。
所以这样的事情也应该起作用:
./run.py --list
我正在考虑使用'store_true' 来获取没有值的标志,但它并不优先于其他标志。
非常感谢任何 cmets/建议
【问题讨论】:
-
如果您还共享了一些代码,可能会很有用。这可能有助于人们了解您到底想要实现什么。
-
为什么需要优先权?您可以解析您的论点,然后在对其他论点采取行动之前检查
--list是否存在。 -
我想让
./run.py --list工作。类似于./run --help,不需要任何其他标志/参数。如果我不提供所有其他参数,argparser 会抱怨缺少参数。
标签: python command-line-interface argparse