python中的choices函数_用choices给命令行参数设置范围

argparse模块的add_argument函数,有一个choices参数,我们可以通过此参数来给命令行参数的取值设置一个任意的范围。在命令行参数取值范围小而且有限的情况下,此方法还是很方便的。

下面的代码,给参数设置了一个取值范围:

import argparse

parser = argparse.ArgumentParser()

parser.add_argument('--cc', choices=['1','2','3'])

args = parser.parse_args()

--cc这个命令行参数的取值范围是'1','2'和'3',没有别的。

E:\py>python arg.py --h

usage: arg.py [-h] [--cc {1,2,3}]

optional arguments:

-h, --help show this help message and exit

--cc {1,2,3}

E:\py>python arg.py --cc 1

E:\py>python arg.py --cc 2

E:\py>python arg.py --cc 3

E:\py>python arg.py --cc 4

usage: arg.py [-h] [--cc {1,2,3}]

arg.py: error: argument --cc: invalid choice: '4' (choose from '1', '2', '3')

默认的参数值类型,都是字符串!

choices内的元素类型,要跟type保持一致,下面的代码,命令行参数的取值范围就是int类型:

import argparse

parser = argparse.ArgumentParser()

parser.add_argument('--cc', type=int, choices=[1,2,3])

args = parser.parse_args()

choices的值是一个集合,上面的示例都是list,还可以是tuple或set。

-- EOF --

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值