Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在这种情况下,如何为特定模式添加argparser子命令?_Python_Python 3.x_Argparse - Fatal编程技术网

Python 在这种情况下,如何为特定模式添加argparser子命令?

Python 在这种情况下,如何为特定模式添加argparser子命令?,python,python-3.x,argparse,Python,Python 3.x,Argparse,我希望以不同的模式运行我的应用程序,例如: python3 ./myapp.py --mode server python3 ./myapp.py --mode cli run-command --with-arguments 为此,我创建了一个参数解析器,并根据选项指定了模式: _parser = argparse.ArgumentParser(description='some application') _parser.add_argument('--mode', de

我希望以不同的模式运行我的应用程序,例如:

python3 ./myapp.py --mode server
python3 ./myapp.py --mode cli run-command --with-arguments
为此,我创建了一个参数解析器,并根据选项指定了模式:

    _parser = argparse.ArgumentParser(description='some application')
    _parser.add_argument('--mode', dest='mode', action='store',  nargs=1, required=True,
                        choices={'server', 'client', 'stat', 'cli'}, help='Run app in selected mode')
在“cli”模式下,我想指定其他参数,例如:

python3 ./myapp.py --mode server
python3 ./myapp.py --mode cli run-command --with-arguments

如何为处理参数设置这样的选项?对每种模式使用子Parser,而不是从“选项”中选择?或者还有其他的方法吗?

使用子Parser。好了,参数不支持您想要的嵌套。

子parser实际上是一个带有
选项的
位置
参数,并且是专门的
操作。