wed.utils.argparse_utils module¶
- class wed.utils.argparse_utils.DictParamProcessor(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]¶
Bases:
argparse.Action
Receive an argument as a dictionary.
- Raises
ValueError – You must give one argument for each one keyword.
Examples
>>> import argparse >>> from wed.utils import DictParamProcessor >>> parser = argparse.ArgumentParser() >>> parser.add_argument("--dict_params", action=DictParamProcessor) >>> args = parser.parse_args(args=["--dict_params", "foo = [a, b, c]", "--dict_params", "bar=d"]) >>> args.dict_params {'foo': ['a', 'b', 'c'], 'bar': 'd'} >>> args = parser.parse_args(args=["--dict_params", "foo=a, bar=b"]) ValueError: too many values to unpack (expected 2)
Note
If you run from the command line, execute as follows:
$ python app.py --dict_params "foo = [a, b, c]" --dict_params bar=c