在使用argparse模块编写命令行解析器时,可以通过设置metavar
参数来指定选择参数的名称。以下是一个示例代码:
import argparse
# 创建解析器对象
parser = argparse.ArgumentParser()
# 添加一个选择参数
parser.add_argument('-m', '--mode', choices=['A', 'B'], metavar='MODE',
help='Specify the mode (A or B)')
# 解析命令行参数
args = parser.parse_args()
# 输出选择参数的值
print(args.mode)
在上面的示例中,使用choices
参数指定了选择参数的可选值为A
和B
,使用metavar
参数指定了选择参数的名称为MODE
。当用户在命令行中使用-h
或--help
选项查看帮助信息时,会显示类似于以下的内容:
usage: program.py [-h] [-m MODE]
optional arguments:
-h, --help show this help message and exit
-m MODE, --mode MODE
Specify the mode (A or B)
用户可以在命令行中使用-m
或--mode
选项来指定选择参数的值,例如:
$ python program.py -m A
A
$ python program.py --mode B
B
$ python program.py --mode C
usage: program.py [-h] [-m MODE]
program.py: error: argument -m/--mode: invalid choice: 'C' (choose from 'A', 'B')
在以上示例中,用户输入了一个无效的选择参数值C
,argparse会自动显示错误信息并列出可选的值。