python 2.7 - 参数作为以下参数的名称

时间:2016-02-15 21:26:05

标签: python python-2.7

import argparse
def add(number_one = 0,number_two = 2):
    a = int(number_one) + int(number_two)
    return(a)

def Main():
    parser = argparse.ArgumentParser()
    parser.add_argument("n1", help = "first number", type=float)
    parser.add_argument("n2", help = "second number", type=float)
    args = parser.parse_args()

    result = add(args.n1, args.n2)
    print(str(result))

if __name__  == '__main__' :
    Main()

您好,我正在学习argparse所以我写了这个简单的程序,它总结了两个数字。

python add.py 3 5 

我希望程序也这样做,但是使用定义下一个参数的参数。例如:

python add.py --n1 3 --n2 5

2 个答案:

答案 0 :(得分:4)

您需要在--n1之前添加n2。例如:

parser.add_argument("--n1", help = "first number", type=float)
parser.add_argument("--n2", help = "second number", type=float)

您还可以添加一个短选项:

parser.add_argument("--n1", "-1", help = "first number", type=float)
parser.add_argument("--n2", "-2", help = "second number", type=float)

这样,您可以使用-1选项调用您的程序,而不是写出令人难以置信的长选项--n1

答案 1 :(得分:1)

所需的更改比您想象的更容易:只需替换

parser.add_argument("--n1", help = "first number", type=float)
parser.add_argument("--n2", help = "second number", type=float)

{{1}}