使用argparse库可以轻松处理多个值与选项。下面是一个示例代码,解释了如何使用argparse处理多个值与选项:
import argparse
parser = argparse.ArgumentParser(description='Process some integers and options')
# 添加一个位置参数,该参数可以接受多个值
parser.add_argument('integers', metavar='N', type=int, nargs='+',
help='an integer for the accumulator')
# 添加一个可选的选项参数
parser.add_argument('--sum', dest='accumulate', action='store_const',
const=sum, default=max,
help='sum the integers (default: find the max)')
args = parser.parse_args()
print(args.accumulate(args.integers))
上述示例代码中,argparse.ArgumentParser用于创建一个ArgumentParser对象。然后,我们使用add_argument方法来添加位置参数integers,它可以接受多个值。metavar参数指定了在帮助信息中显示的参数名称。nargs='+'表示该参数可以接受一个或多个值。
接下来,我们使用add_argument方法添加一个可选的选项参数--sum,它有一个默认值max。dest参数指定了解析后的值存储在args对象的哪个属性中。
最后,我们调用parser.parse_args()来解析命令行参数,并将解析后的结果存储在args对象中。我们可以通过args.integers获取位置参数的值,通过args.accumulate获取选项参数的值。
在最后一行代码中,我们调用args.accumulate(args.integers)来执行所选择的操作,如果选项参数--sum被指定,则对位置参数的值求和,否则找出位置参数的最大值。
你可以通过以下命令行来运行该示例代码:
python script.py 1 2 3 4 --sum
输出结果为:
10
这里的位置参数为1、2、3、4,选项参数--sum指定对位置参数求和。