代码之家  ›  专栏  ›  技术社区  ›  Manthan Tilva

arg1使用选项解析多个值

  •  0
  • Manthan Tilva  · 技术社区  · 5 年前

    我在Python脚本中使用argparse进行参数解析。在这个例子中,我使用 narg=2 但问题是打印帮助时。下面是脚本的一部分。

    #!/usr/bin/python3
    
    import argparse
    
    parser = argparse.ArgumentParser(description='My App')
    parser.add_argument('--add',default=None, action='store',help='Add new value', nargs=2,metavar='name')
    
    args = parser.parse_args()
    

    上述代码的输出为:

    $ python3 sshconfig.py list --help usage: sshconfig.py [-h] [--add NAME NAME]
    
    My App
    
    optional arguments:   -h, --help       show this help message and exit
    --add NAME NAME  Add new value
    

    我需要区分 --add NAME VALUE

    $ python3 sshconfig.py list --help usage: sshconfig.py [-h] [--add NAME VALUE]
    
    My App
    
    optional arguments:   -h, --help       show this help message and exit
    --add NAME VALUE  Add new value
    
    0 回复  |  直到 5 年前
        1
  •  0
  •   WyattBlue    5 年前

    要添加多个标签,请将metavar设置为 tuple 每个参数都有一个值。

    parser = argparse.ArgumentParser(description='My App')
    parser.add_argument('--add', help='Add new value', nargs=2, metavar=('name', 'VALUE'))
    
    args = parser.parse_args()
    

    usage: test.py [-h] [--add name VALUE]
    
    My App
    
    optional arguments:
      -h, --help        show this help message and exit
      --add name VALUE  Add new value