代码之家  ›  专栏  ›  技术社区  ›  Olivier Pons

添加以“h”开头的参数

  •  3
  • Olivier Pons  · 技术社区  · 6 年前

    使用此代码,我似乎无法添加“ --height “作为参数,因为python与 -h / --help “默认选项。我试图补充 add_help=False 当创建对象时,我仍然得到错误 main.py: error: the following arguments are required: height

    import argparse
    
    parser = argparse.ArgumentParser(description='my description')
    parser.add_argument('height', type=int, nargs=1)
    
    args = parser.parse_args()
    
    1 回复  |  直到 6 年前
        1
  •  5
  •   andreihondrari    6 年前

    您创建了位置参数。argparse的工作方式是,当定义一个没有任何前导的参数时 - -- 它将认为它是位置性的,因此您必须像 python yourscript.py the_height .

    如果你想这样称呼它 python myscript.py --height 222 那你必须这么做

    parser.add_argument("--height", action="store")
    args_namespace = parser.parse_args()
    print(args_namespace.height)