python argparse并非所有参数都被解析

时间:2014-06-02 05:27:44

标签: python argparse

我跑了这个命令

  ./run.sh -kryder_rate=.9   -tech_kryder_moveout=.10 -kryder_life=5 -total_runs=20  -duration=100 -purchasecost=100 -runCost=66  -horizon=20 -abc=1

我得到args对象得到这个(注意虽然我通过它们但没有得到'abc'和'horizo​​n'

  Namespace(abc=None, deviceType=None, duration='100', horizon=None, kryder_life='5', kryder_rate='.9', purchasecost='100', runCost='66', tech_kryder_moveout='.10')

但如果我减少参数数量

   ./run.sh -kryder_rate=.9   -tech_kryder_moveout=.10 -kryder_life=5 -total_runs=20  -duration=100 -horizon=20 -abc=1

然后它得到'地平线'和'abc'

   Namespace(abc='1', deviceType=None, duration='100', horizon='20', kryder_life='5', kryder_rate='.9', purchasecost=None, runCost=None, tech_kryder_moveout='.10')

要传递的参数数量是否有限制?

我搜索了但谷歌告诉我没有这样的限制。

这就是我解析的方式

    parser = argparse.ArgumentParser(description='Description of Economic Model Pgm')
    parser.add_argument('-kryder_rate','--kryder_rate', help='kryder_rate', required=False)
    parser.add_argument('-kryder_life','--kryder_life', help='kryder_life', required=False)
    parser.add_argument('-duration','--duration', help='duration', required=False)
    parser.add_argument('-runCost','--runCost', help='runCost', required=False)
    parser.add_argument('-purchasecost','--purchasecost', help='purchasecost', required=False)
    parser.add_argument('-deviceType','--deviceType', help='deviceType', required=False)
    parser.add_argument('-horizon','--horizon', help='horizon', required=False)
    parser.add_argument('-tech_kryder_moveout','-tech_kryder_moveout',help='tech_kryder_moveout',required=False)
    parser.add_argument('-abc','--abc',help='test',required=False)
    args = parser.parse_args()
    print args

0 个答案:

没有答案