Try action="append". You may also provide a type=split_func argument to
split the key=value pairs:
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument("-o", action="append", type=lambda p: p.split("=",
1))
_AppendAction(option_strings=['-o'], dest='o', nargs=None, const=None,
default=None, type=<function <lambda> at 0x7feef70a8510>, choices=None,
help=None, metavar=None)
>>> parser.parse_args(["-o", "a=b", "-o", "c=d"])
Namespace(o=[['a', 'b'], ['c', 'd']])