我有一个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
谢谢!
答案 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
。