python - argparse 将默认设置为多个参数

标签 python argparse

我想使用 argparse 来指定一个采用三个整数值的选项:就像指定一个范围:开始、结束、步骤。

parser.add_argument('--range', nargs=3, metavar=('start', 'end', 'step'), 
             type=int, help="specify a range')

但是,我不清楚如何为所有三个值提供默认值。我需要将其定义为字符串并自己解析吗?

最佳答案

这对你有用吗?

parser.add_argument('--range', default=[4,3,2], 
                    nargs=3, metavar=('start', 'end', 'step'),
                    type=int, help='specify a range')

演示程序:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--range', default=[4,3,2], nargs=3, metavar=('start', 'end', 'step'),
             type=int, help='specify a range')
print parser.parse_args([])

# prints Namespace(range=[4, 3, 2])

关于python - argparse 将默认设置为多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18924061/

相关文章:

python - 在类 __init__ 中使用 Argparse

python - 对 argparse 感到困惑

python - 从命名空间创建命名元组?

python - 如何更改 argparse 中的文本 "optional arguments"

python - 弱引用回调因为循环引用没有被调用

Python - 我无法从列表中获取第一个之后的名称

python - 如何分析混淆矩阵?

python - 我可以从 python 脚本运行 shell 函数吗?

python - Argparse nargs ="+"正在吃位置参数

php - Python使用gmail从不同地址发送电子邮件