使用nargs>编写单个参数的自定义用法语句1

时间:2017-01-20 20:05:53

标签: python argparse

我有一个argumentParser,它当前输出一个如下所示的用法语句:

project-root/
  |__ webpack.config.js
  |__ client/
      |__ utilis/
          |__ string-utils.js
      |__ components/
          |__ App.js

Body是主解析器,然后arm是subparser,hand是subparser的subparser。 Finger表示接受五个输入的参数。

有没有办法用一个参数的内置argparse函数编写自定义用法语句?它应该看起来像:

usage: body arm hand [-h] finger finger finger finger finger

谢谢!

1 个答案:

答案 0 :(得分:2)

元组metavar应该完成这项工作

In [270]: p = argparse.ArgumentParser(prog='prog')
In [271]: p.add_argument('finger', nargs=5, 
    metavar=('thumb', 'index', 'middle', 'ring', 'pinky'));
In [272]: p.print_usage()
usage: prog [-h] thumb index middle ring pinky

它必须是元组,而不是列表,并且必须与nargs具有相同的长度。检查argparse文档中的metavar