Python Argparse 添加文本到用法消息

标签 python argparse usage-message

我正在开发一个小型 Python 程序,它需要获取一些命令行参数并使用 argparse 来显示使用信息。 我有这两行

parser.add_argument("-r",type=int,default=1)
parser.add_argument("-c",type=int,default=2)

要求是我向用户显示此消息:

*usage: myprogram.py [-h]  [-r ROWS] [-c COLUMNS]* 

但是我向用户展示的是 -

*usage: myprogram.py [-h] [-r R] [-c C]*

我怎样才能把[-r R]变成[-r ROW](并且以同样的方式[-c C][-c COLUMNS])?

我已经看了很多 argsparse 文档,但没有用......

最佳答案

使用 metavar parameter :

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-r", type=int, default=1, metavar='ROWS')
parser.add_argument("-c", type=int, default=2, metavar='COLUMNS')
args = parser.parse_args()

然后,python test.py -h 产生

usage: test.py [-h] [-r ROWS] [-c COLUMNS]

optional arguments:
  -h, --help  show this help message and exit
  -r ROWS
  -c COLUMNS

关于Python Argparse 添加文本到用法消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17065413/

相关文章:

python - 为什么 "Building wheel for TA-Lib (setup.py)"需要很长时间?

python - 如何提取两个标记之间的子字符串?

python - 我如何使用 "leaky_relu"作为 Tensorflow "tf.layers.dense"中的激活?

python - 你如何让 argparse 选择默认的子解析器?

python - argparse 条件参数结构

c++ - 在控制台应用程序中包含 "help"消息的最佳方法是什么?

python - 服务中的桌面通知

python - Ruby optparse 限制

command-line - 命令行 "usage"应该打印在 stdout 或 stderr 上吗?