gpt4 book ai didi

Python:带有 Main 命令和 Sub 命令的 ArgParse

转载 作者:行者123 更新时间:2023-11-30 22:36:00 24 4
gpt4 key购买 nike

嗨,我正在使用 ArgParse 来处理我的参数。我希望代码像这样工作

# Main function
$ myApp -i INPUT -o OUTPUT -s STUFF
<小时/>
# Configure function
$ myApp config -a conf1 -b conf2
<小时/>
import argparse
from argparse import RawTextHelpFormatter

parser = argparse.ArgumentParser(description='myApp',formatter_class=RawTextHelpFormatter)
parser.add_argument('-i',help='input',required=True)
parser.add_argument('-o',help='output',required=True)
parser.add_argument('-s',help='stuff',default=None,required=False)
args = parser.parse_args()

subp = parser.add_subparsers()
conf_parser = subp.add_parser('config', help='configure')
conf_parser.add_argument('-a',help='a config file',default=None,required=False)
conf_parser.add_argument('-b',help='b config file',default=None,required=False)
conf_args = conf_arser.parse_args()

这是输出

python sandbox/test1.py  --help
usage: test1.py [-h] -i I -o O [-s S]

myApp

optional arguments:
-h, --help show this help message and exit
-i I input
-o O output
-s S stuff

我没有显示配置参数。我不确定我在这里做错了什么。

谢谢!

最佳答案

解决了

<小时/>
import argparse
from argparse import RawTextHelpFormatter

parser = argparse.ArgumentParser(description='myApp',formatter_class=RawTextHelpFormatter)
parser.add_argument('-i',help='input',required=True)
parser.add_argument('-o',help='output',required=True)
parser.add_argument('-s',help='stuff',default=None,required=False)

subp = parser.add_subparsers(help='configure')
conf_parser = subp.add_parser('config')
conf_parser.add_argument('-a',help='a config file',default=None,required=False)
conf_parser.add_argument('-b',help='b config file',default=None,required=False)
args = parser.parse_args()
<小时/>
python sandbox/test1.py --help
usage: test1.py [-h] -i I -o O [-s S] {config} ...

myApp

positional arguments:
{config} configure

optional arguments:
-h, --help show this help message and exit
-i I input
-o O output
-s S stuff
<小时/>
python sandbox/test1.py config --help
usage: test1.py config [-h] [-a A] [-b B]

optional arguments:
-h, --help show this help message and exit
-a A a config file
-b B b config file

关于Python:带有 Main 命令和 Sub 命令的 ArgParse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44346432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com