📜  python argparse 只允许某些值 - Python (1)

📅  最后修改于: 2023-12-03 15:04:04.174000             🧑  作者: Mango

Python argparse 只允许某些值

argparse是Python标准库中用于解析命令行参数和选项的模块。有时候我们希望在解析命令行参数时只允许某些值,这时可以使用choices参数。

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

结论

argparsechoices参数可以用于限制命令行参数的取值范围,保证程序的正确性和可靠性。