使用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
指定对位置参数求和。