How can I use python's argparse with a predefined argument string?

前端 未结 4 1631
星月不相逢
星月不相逢 2020-12-09 09:23

I want to use the pythons argparse module to parse my cli parameter string. This works for the parameters a pass from terminal, but not with a given string.

         


        
4条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-09 09:52

    Simply split your command string :

    args = parser.parse_args(argString.split())
    

    A complete example to showcase :

    import argparse
    
    if __name__ == '__main__':
        parser = argparse.ArgumentParser()
        parser.add_argument('--dummy_opt', nargs='*', type=int, help='some ids')
        argString = "--dummy_opt 128 128"
        args = parser.parse_args(argString.split())
    
        print(args)
    

    will output :

    Namespace(pic_resize=[128, 128])

提交回复
热议问题