为了账号安全,请及时绑定邮箱和手机立即绑定

如何让 Python argparse 正确解释与命令匹配的参数?

如何让 Python argparse 正确解释与命令匹配的参数?

芜湖不芜 2021-06-06 17:47:29
假设我有以下设置:parser.add_argument('-v', '--version', help='Print version',  action='version', version=VERSION)parser.add_argument('-a', '--analyse', help='Analyse command execution',  nargs='*', action='append')该命令analyse接收n要分析的选项。这些选项可能与命令--version和/或--help. 例子:cli --analyse key1 --versioncli --analyse key2 --helpcli --analyse key1 --version key2 --help如果我运行 1、2 或 3,而不是继续analyse执行,而是argparse执行:--version 为 1;--help 为 2;--version 为 3;对于给定的场景,命令以 开头--analyse,我希望随后的--versionand--help被解释为选项analyse而不是它们匹配签名的命令。那可能吗?
查看完整描述

1 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

您可以使用argparse.Remainder文档中最后一个要点中的解释):


import argparse


VERSION = "1.0"

parser = argparse.ArgumentParser(description='Argparse test')

parser.add_argument('-v', '--version', help='Print version',  action='version', version=VERSION)

parser.add_argument('-a', '--analyse', help='Analyse command execution',  nargs=argparse.REMAINDER, action='append')

args = parser.parse_args()


if args.analyse:

    print(args.analyse)


查看完整回答
反对 回复 2021-06-09
  • 1 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信