📅  最后修改于: 2023-12-03 15:04:04.174000             🧑  作者: Mango
argparse
是Python标准库中用于解析命令行参数和选项的模块。有时候我们希望在解析命令行参数时只允许某些值,这时可以使用choices
参数。
choices
参数用于设置一个列表,只有该列表中的值才会被解析器接受。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--color', choices=['red', 'green', 'blue'])
args = parser.parse_args()
print(args.color)
运行上述代码,输入--color red
,输出为:
red
输入--color yellow
,则会报错:
error: argument --color: invalid choice: 'yellow' (choose from 'red', 'green', 'blue')
这样就保证了只有指定的值才能被解析器接受。
下面给出一个实际示例。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--size', choices=['small', 'medium', 'large'], default='medium',
help="specify the size of the T-shirt")
args = parser.parse_args()
print("You ordered a", args.size, "T-shirt.")
命令行输入--size large
,输出为:
You ordered a large T-shirt.
当没有指定--size
时,默认args.size
的值为medium
。
argparse
的choices
参数可以用于限制命令行参数的取值范围,保证程序的正确性和可靠性。