type=dict in argparse.add_argument()

后端 未结 11 693
既然无缘
既然无缘 2020-12-03 07:02

I\'m trying to set up a dictionary as optional argument (using argparse); the following line is what I have so far:

parser.add_argument(\'-i\',\'--image\', t         


        
11条回答
  •  北海茫月
    2020-12-03 07:41

    Necroing this: json.loads works here, too. It doesn't seem too dirty.

    import json
    import argparse
    
    test = '{"name": "img.png","voids": "#00ff00ff","0": "#ff00ff00","100%": "#f80654ff"}'
    
    parser = argparse.ArgumentParser()
    parser.add_argument('-i', '--input', type=json.loads)
    
    args = parser.parse_args(['-i', test])
    
    print(args.input)
    

    Returns:

    {u'0': u'#ff00ff00', u'100%': u'#f80654ff', u'voids': u'#00ff00ff', u'name': u'img.png'}

提交回复
热议问题