type=dict in argparse.add_argument()

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'}

Leave a Comment