为 nargs > 1 的单个参数编写自定义用法语句
Writing custom usage statements for a single argument with nargs > 1
我有一个 argumentParser,它当前输出的用法语句如下所示:
usage: body arm hand [-h] finger finger finger finger finger
body是主解析器,然后arm是子解析器,hand是子解析器的子解析器。 Finger 表示接受五个输入的参数。
有没有办法用内置的 argparse 函数为一个参数编写自定义用法语句?它应该看起来像:
usage: body arm hand [-h] thumb index middle ring pinky
谢谢!
元组元变量应该可以完成这项工作
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
。
我有一个 argumentParser,它当前输出的用法语句如下所示:
usage: body arm hand [-h] finger finger finger finger finger
body是主解析器,然后arm是子解析器,hand是子解析器的子解析器。 Finger 表示接受五个输入的参数。
有没有办法用内置的 argparse 函数为一个参数编写自定义用法语句?它应该看起来像:
usage: body arm hand [-h] thumb index middle ring pinky
谢谢!
元组元变量应该可以完成这项工作
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
。