我在尝试允许将可选测试参数插入到我创建的 CLI 中时遇到问题。这是我能做的:
python test.py --test build --name foobar
其中 build 是一个子命令,而 --test 允许系统指向默认测试服务器。但是,我想允许用户在 --test 之后指定一个额外的、可选的服务器属性,这样用户就可以将测试服务器指向他们想要的任何地方。例子:
python test.py --test "<random http>" build --name foobar
我的代码目前如下所示:
main_parser = argparse.ArgumentParser()
main_parser.add_argument('--test', action='store', nargs=1, dest='test_server', help='Use test server')
subparsers = main_parser.add_subparsers(help='SubCommands', dest='command')
build_parser = subparsers.add_parser('build', help = 'lists the build command(s) for the specified view/warehouse')
build_parser.add_argument('--name', action='store', nargs=1, dest='build_name')
但是,无论我将 nargs 更改为什么,它都会开始禁止原来的,即 --test。有没有办法让我两者兼得?